我的故事板中有多个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或设置代表的解决方案请详细说明。谢谢!
答案 0 :(得分:3)
在您的代码中也添加此行:
[[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]];