UINavigationBar的外观覆盖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]]; 

但现在我想在我的应用程序一个地方,我想要的导航栏,以不同的颜色比这个普遍的颜色我已经设置了整个应用程序。我怎样才能改变这个只为这个特定的设置。可能吗?

您也可以在导航栏的实例上调用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

只需在导航栏实例上直接使用外观方法,而不是在appearance代理对象上使用外观方法。

[navBarInstance setBackgroundImage: ... ];