2012-02-25 75 views
5

我有下面的代碼:UINavigationBar的外觀覆蓋5

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbarBackBlack.png"] forBarMetrics:UIBarMetricsDefault]; 
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbarBackBlack.png"] forBarMetrics:UIBarMetricsLandscapePhone]; 
    [[UINavigationBar appearance] setTintColor:[UIColor colorWithWhite:0.72 alpha:1.0]]; 

但現在我想在我的應用程序一個地方,我想要的導航欄,以不同的顏色比這個普遍的顏色我已經設置了整個應用程序。我怎樣才能改變這個只爲這個特定的設置。可能嗎?

回答

5

您也可以在導航欄的實例上調用setBackgroundImage。

看到這個相關的帖子:

Custom UITabBar background image not working in iOS 5 and later

你也應該調理它是否響應該選擇:

if ([navBar respondsToSelector:@selector(setBackgroundImage:)]) 
{ 
    [navBar setBackgroundImage:[UIImage imageNamed:@"tabbar_brn.jpg"]]; 
} 
else 
{ 
    // ios 4 code here 
} 
+0

怎麼樣着色顏色?我似乎無法做到這一點 – adit 2012-02-25 21:28:36

0

只需在導航欄實例上直接使用外觀方法,而不是在appearance代理對象上使用外觀方法。

[navBarInstance setBackgroundImage: ... ];