【问题标题】:Different navigation bar tints inside 1 single navigation controller?1个单一导航控制器内的不同导航栏颜色?
【发布时间】:2010-06-24 13:22:25
【问题描述】:

我的应用程序有一个带有 2 个视图的导航视图控制器:
- 根视图:我希望其导航栏的色调为黑色
- 子视图:我希望其导航栏的色调为蓝色

为此,我在每个视图控制器的 viewDidLoad 方法中设置导航栏的色调颜色: self.navigationController.navigationBar.tintColor = [UIColor blackColor];

我的问题是在测试期间:
- 第 1 步 - 我访问根视图:导航栏是黑色的:OK
- 第 2 步 - 我推送子视图:导航栏是蓝色的:好的
- 第 3 步 - 我点击子视图的“返回”按钮:导航保持蓝色:KO

我应该添加任何添加代码以获得我想要的行为吗? (我尝试了一些肮脏的解决方法,例如在 viewWillAppear 中调用 drawRect 但它不起作用)

感谢您的帮助!

【问题讨论】:

    标签: iphone uinavigationcontroller uinavigationbar hierarchy tintcolor


    【解决方案1】:

    您应该可以在viewWillAppearviewDidAppear 中执行self.navigationController.navigationBar.tintColor = [UIColor blackColor];

    【讨论】:

    • 非常感谢您的回答。我有点惭愧,因为解决方案并不难找到:)
    【解决方案2】:

    原因是navigationController是共享的。因此,当您将其颜色更改为蓝色时,您必须将其更改回黑色。

    最好的方法就像 Elfred 说的,你应该在 viewWillAppear 中做

    【讨论】:

      猜你喜欢
      • 2017-06-20
      • 1970-01-01
      • 2014-05-15
      • 2019-08-10
      • 2020-05-24
      • 1970-01-01
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多