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

但我现在想让我的应用程序中的一个地方,导航栏的颜色与我在整个应用程序中设置的通用颜色不同。我如何仅更改此特定设置?这可能吗?

2个回答

5
您可以在导航栏实例上调用 setBackgroundImage 方法。
请查看以下相关文章: 自定义 UITabBar 背景图片在 iOS 5 及以后版本中无法工作 你还应该根据其是否响应该选择器进行条件设置。
if ([navBar respondsToSelector:@selector(setBackgroundImage:)])
{
    [navBar setBackgroundImage:[UIImage imageNamed:@"tabbar_brn.jpg"]];
}
else
{
    // ios 4 code here
}

调整一下色调呢?我好像做不到。 - adit

0

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

[navBarInstance setBackgroundImage: ... ];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接