iOS 在整个应用程序中更改 NavigationBar 外观
Posted
技术标签:
【中文标题】iOS 在整个应用程序中更改 NavigationBar 外观【英文标题】:iOS Change NavigationBar appearance throughout entire app 【发布时间】:2015-09-19 09:05:35 【问题描述】:我的故事板中有多个 UINavigationController。由于我使用的是 tabbarcontroller,因此每个选项卡项都在其 ViewController 之前嵌入了它自己的 UINavigationController。
我想同时为所有这些设置样式。我尝试过的工作将转到 ViewControllers ViewWillAppear
方法并添加以下行:
UINavigationBar *nav = self.navigationController.navigationBar;
nav.barStyle = UIBarStyleBlack;
nav.tintColor = [UIColor blackColor];
nav.translucent = NO;
但是我必须为每个选项卡项和每个 ViewController 执行此操作。
此外,在 AppDelegate 中执行以下操作也不起作用:
[[UINavigationBar appearance] setTintColor:[UIColor blackColor]];
[[UINavigationBar appearance] setTranslucent:NO];
特别是我很好奇为什么使用外观代理不起作用。我是新手,所以如果您提供涉及自定义 UINavigationController 或设置委托的解决方案,请详细说明。谢谢!
【问题讨论】:
【参考方案1】:在您的代码中也添加这一行:
[[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]];
【讨论】:
哎呀!做到了!谢谢@Nishant!我马上给你标记正确的答案。虽然我在这里,但如果 TabBarController 是我的初始视图控制器,我该如何更改它的 imageRenderingMode?span> 谢谢。这是一个很好的答案。 ***.com/a/27196023/1463604 如果它不起作用,我将需要一些您可能已经实现的代码 sn-p。您可以为它添加一个新问题并给我它的链接。以上是关于iOS 在整个应用程序中更改 NavigationBar 外观的主要内容,如果未能解决你的问题,请参考以下文章
iOS 在整个应用程序中更改 NavigationBar 外观
UINavigationController 背景颜色更改在 iOS 中隐藏后退按钮