导航栏在iOS7中有不同的颜色?

时间:2013-09-15 11:51:28

标签: iphone ios objective-c uinavigationbar ios7

我正在创建一个iPhone应用,但我的导航栏在每个视图中都有不同的颜色?

我正在为iOS7和Xcode 5开发。

我试图通过在AppDelegate.m文件中写这个来以编程方式使导航栏相同:

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];

我该怎么办?

2 个答案:

答案 0 :(得分:12)

NavigationBar样式为半透明灯(默认)或半透明暗。默认情况下,半透明属性为YES,将其设置为NO并使用导航栏的barTintColor属性将导航栏背景设置为某种颜色。

<强>目标C

self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
self.navigationController.navigationBar.translucent = NO;

Swift 3

navigationController?.navigationBar.barTintColor = UIColor.white
navigationController?.navigationBar.isTranslucent = false

答案 1 :(得分:3)

您需要设置barTintColor属性。

您可以使用Tint(barTintColor)字段为导航栏背景指定自定义色调颜色。默认背景色调颜色为白色。

如果你想要纯色,

还可以将属性从顶部栏设置为不透明而不是半透明 来自iOS7文档:https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/UIKitUICatalog/UINavigationBar.html#//apple_ref/doc/uid/TP40012857-UINavigationBar-SW1