2012-04-26 43 views
2

設置UIToolbar的背景圖像我用下面的代碼來設置圖像「樣本」作爲我的UIToolbar與iOS5.1

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

的背景顏色,但它似乎上面的一個不iOS5.1工作並且出現了UIToolbar的默認背景色。我在iOS4中沒有任何問題。

我錯過了什麼嗎?請給我建議的原因..

感謝

回答

4

enter image description here

// 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。可能會幫助你

+0

謝謝!只需注意,這必須在視圖控制器的某個地方完成,我在應用程序委託中嘗試它,並且它不工作一段時間... – ekinnear 2012-08-01 17:24:42

+0

任何建議如何在AppDelegate中爲此創建不同的工具欄背景屏幕?.. – dreamzor 2013-01-10 18:09:01

+0

請參閱我的解決方案,以獲得正確的方式來執行此操作,該操作也適用於應用程序代理。 – 2013-02-07 04:39:47

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]; 
7

從應用程序委託(與上述解決方案不同)以及在頭文件中也用UI_APPEARANCE_SELECTOR標記的正確方法是:

[[UIToolbar appearance] setBackgroundImage:bgImage forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault]; 
[[UIToolbar appearance] setBackgroundImage:bgImage forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsLandscapePhone]; 
相關問題