2011-12-02 130 views
0

我正在使用此代碼來更改我的UINavigationBar的背景,但它沒有在iPhone中顯示,但在iPhone模擬器中工作正常。更改導航欄的背景

self.navigationController.navigationBar.layer.contents = (id)[UIImage imageNamed:@"Blue Bar.png"].CGImage; 

回答

0

嘗試這個

 [self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Your Image Name"]]]; 
+0

我已經試過這個,但是這個方法不起作用在UInavigation酒吧 – IOSCODER

+0

比檢查您的圖片。它可能是空的或有時不支持。上面的代碼是Definatly改變導航欄背景的工作。我已成功使用此代碼。 – Wolverine

0

檢查您的圖像名稱可能在寫入圖像的名稱小寫字母和大寫字母可能會驗證。

+0

但它在模擬器工作正常,爲什麼沒有iphone – IOSCODER

+0

可能是你在寫「藍色Bar.png」模擬器提交錯誤接受,但設備不接受大寫和小寫的變化。 – iPhone

0

編寫一個設置背景的自定義類。

@implementation MyNavigationBar 

- (void)drawRect:(CGRect)rect{ 
[[UIImage imageNamed:@"navigation.png"] drawInRect:rect];  
} 

@end 
+0

這個NavigationBar應該是UINavigationBar的子類嗎? – IOSCODER

+0

是的,它是......'@interface MyNavigationBar:UINavigationBar' – nanjunda

+0

如何在self.navigationController.navigationBar上使用它? – IOSCODER