作者热门文章
- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
在我的 AppDelegate 中,我使用 UIAppearance 通过以下代码设置我自己的 NavigationBar:
[[UINavigationBar appearance] setTintColor:[UIColor blackColor]];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault];
但我的应用程序的某些 View 不需要它。我怎样才能摆脱它,以便我只能在相关 View 中使用 IB?
最佳答案
您不需要使用代理。只需获取实际的导航栏,它看起来应该有所不同并直接在其上设置颜色。
[navigationBarInstance setTintColor:[UIColor blackColor]];
[navigationBarInstance setBackgroundImage:[UIImage imageNamed:@"nav5.png"] forBarMetrics:UIBarMetricsDefault];
您也可以将这两个值都设置为 nil
,这样您就可以再次使用标准样式。 (由 Ben Clayton
测试)。
[navigationBarInstance setTintColor:nil];
[navigationBarInstance setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
关于objective-c - 如何在不需要时摆脱 UIAppearance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728594/
我是一名优秀的程序员,十分优秀!