0

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

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

我的问题是在测试过程中:
- 步骤 1 - 我访问根视图:导航栏是黑色的:好的
- 步骤 2 - 我推送子视图:导航栏是蓝色的:好的
- 步骤 3 - 我点击“子视图的“后退”按钮:导航保持蓝色:KO

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

谢谢你的帮助 !

4

2 回答 2

2

你应该能够做self.navigationController.navigationBar.tintColor = [UIColor blackColor];inviewWillAppearviewDidAppear

于 2010-06-24T13:26:38.957 回答
0

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

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

于 2010-06-24T13:47:54.947 回答