我的应用程序有一个导航视图控制器,有2个视图:
- 根视图:我希望其导航栏的色调颜色为黑色
- 子视图:我希望其导航栏的色调颜色为蓝色
为此,我在每个视图控制器的viewDidLoad方法中设置导航栏的色调颜色:
self.navigationController.navigationBar.tintColor = [UIColor blackColor];
我的问题是在测试期间:
- 步骤1 - 我访问根视图:导航栏为黑色:确定
- 步骤2 - 我推动子视图:导航栏为蓝色:确定
- 步骤3 - 我点击子视图的“后退”按钮:导航保持蓝色:KO
我是否应添加任何添加代码以获取我想要的行为? (我尝试过一些肮脏的解决方法,比如在viewWillAppear中调用drawRect但它不起作用)
感谢您的帮助!
答案 0 :(得分:2)
您应该可以在self.navigationController.navigationBar.tintColor = [UIColor blackColor];
或viewWillAppear
viewDidAppear
答案 1 :(得分:0)
原因是navigationController是共享的。因此,当您将其颜色更改为蓝色时,您必须将其更改回黑色。
最好的方式就像Elfred说的那样,你应该在viewWillAppear中做到这一点