【问题标题】:iOS Change NavigationBar appearance throughout entire appiOS 在整个应用程序中更改 NavigationBar 外观
【发布时间】: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 或设置委托的解决方案,请详细说明。谢谢!

【问题讨论】:

    标签: ios objective-c uinavigationcontroller uinavigationbar


    【解决方案1】:

    在您的代码中也添加这一行:

    [[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]];
    

    【讨论】:

    • 哎呀!做到了!谢谢@Nishant!我马上给你标记正确的答案。虽然我在这里,但如果 TabBarController 是我的初始视图控制器,我该如何更改它的 imageRenderingMode?​​span>
    • 谢谢。这是一个很好的答案。 stackoverflow.com/a/27196023/1463604 如果它不起作用,我将需要一些您可能已经实现的代码 sn-p。您可以为它添加一个新问题并给我它的链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多