带有纯色的UINavigationBar - ios 7

Pha*_*oan 6 objective-c uinavigationbar uinavigationcontroller ios uistoryboard

我正在使用UINavigationController它的默认值UINavigationBar,我试图关闭半透明效果,所以我可以在它上面有一个纯色.显然,它不适用于代码,但只需单击一下就可以使用故事板(很奇怪?!!)

我的代码:

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:APP_DELEGATE.map];
[navController setToolbarHidden:YES];
[navController.navigationBar setTranslucent:NO];
[navController.navigationBar setBarTintColor:[UIColor turquoiseColor]];
//    [[UINavigationBar appearance] setBarTintColor:[UIColor turquoiseColor]]; | also doesn't work
Run Code Online (Sandbox Code Playgroud)

为什么不起作用?我该如何解决这个问题?谢谢.

Bal*_*ari 12

这是正确的方法.用户appearance代理方法.

[[UINavigationBar appearance] setBarStyle:UIBarStyleDefault];
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
[self.navigationController.navigationBar setTranslucent:NO];
Run Code Online (Sandbox Code Playgroud)

多数民众赞成你完成了.使用你想要的任何颜色.上面的代码使NavigationBar变为不透明(即纯色).


mat*_*att 0

我最终做的是创建一个 UINavigationController 子类并覆盖initWithRootViewController:- 并完全按照您正在做的事情(将半透明设置为 NO 并应用条形色调颜色,当然现在我们正在操作self)。