带有纯色的UINavigationBar - ios 7

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有纯色的UINavigationBar - ios 7相关的知识,希望对你有一定的参考价值。

我正在使用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

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

答案

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

[[UINavigationBar appearance] setBarStyle:UIBarStyleDefault];
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
[self.navigationController.navigationBar setTranslucent:NO];

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

另一答案

使用这种方式导航栏的纯色我已经面临这个问题很多时间

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:APP_DELEGATE.map];
[navController setToolbarHidden:YES]; 
navController.navigationBar.barTintColor =[UIColor turquoiseColor];
[navController.navigationBar setTranslucent:NO];
另一答案

对于你们所有的Swiftians:

UINavigationBar.appearance().barStyle = UIBarStyle.Default
UINavigationBar.appearance().barTintColor = UIColor.redColor()
self.navigationController?.navigationBar.translucent = false

以上应适用于Swift 1.2和Swift 2。

另一答案

我最终做的是创建一个UINavigationController子类并覆盖initWithRootViewController: - 并完成你正在做的事情(将半透明设置为NO并应用条形色调,除了现在我们当然在self上运行)。

另一答案
UINavigationBar.appearance.barTintColor = [UIColor redColor];
UINavigationBar.appearance.tintColor = [UIColor whiteColor];
UINavigationBar.appearance.translucent = NO;

这将提供纯色背景颜色红色和文本颜色白色,属性为非半透明。

以上是关于带有纯色的UINavigationBar - ios 7的主要内容,如果未能解决你的问题,请参考以下文章

IOS:UISearchBar 部分覆盖 UINavigationBar 提示

UINavigationBar 自定义背景与悬垂(iOS 5)

iOS 7 UINavigationBar 隐藏了后退按钮

UINavigationBar下的多个UITableView

在没有 UITabBar 或 UINavigationBar 的情况下在 iOS 中编排多个视图的最佳方法?

部分透明的散点图,但带有纯色条