9

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

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

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

4

1 回答 1

12

您不需要使用代理。只需获取实际的导航栏,它应该看起来不同并直接在其上设置颜色。

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

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

[navigationBarInstance setTintColor:nil];
[navigationBarInstance setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
于 2012-05-23T22:13:16.943 回答