如何在不需要时摆脱UIAppearance?

时间:2012-05-23 22:09:42

标签: objective-c ios uinavigationbar uiappearance

在我的AppDelegate中,我使用UIAppearance使用以下代码设置我自己的NavigationBar:

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault];

但我的应用程序的一些观点不需要它。我怎样才能摆脱它,所以我只能在相关的观点中使用IB?

1 个答案:

答案 0 :(得分:12)

您无需使用代理。只需获得实际的navigationBar,它应该看起来不同并直接在其上设置颜色。

[navigationBarInstance setTintColor:[UIColor blackColor]];
[navigationBarInstance setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault];

您也可以将这两个值设置为nil,再次需要标准样式。 (由Ben Clayton测试。)

[navigationBarInstance setTintColor:nil];
[navigationBarInstance setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];