1

ナビゲーション バーのカスタム UI を作成していますが、この投稿で尋ねたとおりの質問があります。

UIBarButtonItem のカスタム背景/透明背景?

StoryBoard では、UIbarbuttonitem を透明またはクリアな色にするためにあらゆる種類の組み合わせを試しましたが、まだこの醜い黒いボタンが表示されます (+ 記号を参照)。ボタンが背景に溶け込んでいるように見えるように、透明効果を実現するにはどうすればよいですか?

私のスクリーンショット

ここに画像の説明を入力

他のアプリのスクリーンショット。これがどれだけ素敵に見えるか見てください。

ここに画像の説明を入力

ここで、+ 画像は、透明/空白の背景を持つ 20 x 20 ピクセルの独自のカスタム png 画像であることに注意してください。

4

3 に答える 3

7

iOS 5 で導入された新しい外観 API を使用して、それ以上のことを実現できます。

基本的に、UI の外観を一度設定すると、プログラム全体に反映されます。

の例を次に示しUIBarButtonItemます。

// You can also use stretchable images
UIImage *image = [[UIImage imageNamed:@"myCoolBarButton.png"]  resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)];
[[UIBarButtonItem appearance] setBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

iOS 5 を使用できない場合は、次のようにプログラムでビルドする必要があります。

// Create a custom button with an image
UIImage *image = [UIImage imageNamed:@"myCoolBarButton.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:image forState:UIControlStateNormal];
button.frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height);

// Create a custom UIBarButtonItem with the button
UIBarButtonItem aBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:aButton];

とにかく、外観に関する優れたチュートリアルのリンクがいくつかあります

iOS 5 でのユーザー インターフェイスのカスタマイズ

新しい iOS 5 Appearance API でアプリを際立たせる方法

編集:明確にするために、色、グラデーション、透明度をいじるよりも、カスタム画像を使用する方がはるかに簡単です。

于 2012-10-26T18:07:48.323 に答える
0

色合いではできません。ナビゲーション バーの backgroundImage とバー ボタン項目の backgroundImage の両方を設定して、必要に応じて調和させる必要があります。

バー ボタン アイテムの背景イメージを描画する場合、丸みを帯びた四角形のアウトラインと丸みを帯びた四角形のアウトラインを含むボタン全体を描画する必要がある場合がありますが、これは難しくありません。コードは永遠に。

于 2012-10-26T18:04:19.480 に答える
0

+記号付きのpng画像にはアルファチャンネルが含まれていないと思います。私は透明な画像を持っていますが、それは私にとっては完璧に機能しています。

于 2012-10-26T18:06:38.247 に答える