iOS在整个应用

时间:2015-09-19 09:05:35

标签: ios objective-c uinavigationcontroller uinavigationbar

我的故事板中有多个UINavigationController。由于我使用的是tabbarcontroller,因此每个标签项都有自己的UINavigationController嵌入它的ViewController之前。

我想同时为所有这些设置样式。我尝试过的工作是使用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 个答案:

答案 0 :(得分:3)

在您的代码中也添加此行:

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