2

次のコードを使用して、画像「サンプル」を UIToolbar の背景色として設定しました

self.toolbar.layer.contents = (id)[UIImage imageNamed:@"Sample.png"].CGImage;

しかし、上記のものは iOS5.1 では動作せず、UIToolbar のデフォルトの背景色が表示されたようです。iOS4 ではこの行に問題はありません。

何か不足していますか?理由を教えてください..

ありがとう

4

3 に答える 3

7

(上記のソリューションとは異なり) アプリ デリゲートから機能し、ヘッダー ファイルで UI_APPEARANCE_SELECTOR とマークされている正しい方法は次のとおりです。

[[UIToolbar appearance] setBackgroundImage:bgImage forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
[[UIToolbar appearance] setBackgroundImage:bgImage forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsLandscapePhone];
于 2013-02-07T04:38:42.013 に答える
4

ここに画像の説明を入力

// Create resizable images
UIImage *gradientImage44 = [[UIImage imageNamed:@"imageName.png"] 
                            resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
// Set the background image for *all* UINavigationBars
[[UIToolbar appearance] setBackgroundImage:gradientImage44 
                                   forBarMetrics:UIBarMetricsDefault];

iOS 5 で導入されたアピアランス API を使用することをお勧めします。

于 2012-04-26T11:21:11.283 に答える
1

setBackgroundImage:forToolbarPosition:barMetrics:これは、特定の位置および特定のメトリックで背景に使用する画像を設定するために使用されます。

あなたの場合

// Set the background image for PortraitMode
[self.toolbar setBackgroundImage:[UIImage imageNamed:@"Sample.png"] 
                                   forBarMetrics:UIBarMetricsDefault];
// and For LandscapeMode
[self.toolbar setBackgroundImage:[UIImage imageNamed:@"Sample.png"] 
                                   forBarMetrics:UIBarMetricsLandscapePhone];
于 2012-04-26T11:18:07.427 に答える