iOS7中的导航栏颜色不同?
Posted
技术标签:
【中文标题】iOS7中的导航栏颜色不同?【英文标题】:Navigation bar different color in iOS7? 【发布时间】:2013-09-15 11:51:28 【问题描述】:我正在创建一个 iPhone 应用,但我的导航栏在每个视图中都有不同的颜色?
我正在为 ios7 和 Xcode 5 开发。
我已尝试通过在 AppDelegate.m 文件中编写以下代码以编程方式使导航栏相同:
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
我该怎么办?
【问题讨论】:
它是什么颜色,你期待什么颜色,视图的颜色是什么? 每个屏幕上的颜色大多相同。 【参考方案1】:NavigationBar 样式为半透明浅色(默认)或半透明深色。 translucent 属性默认为 YES,设置为 NO 并使用导航栏的 barTintColor 属性设置导航栏背景颜色。
Objective-C
self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
self.navigationController.navigationBar.translucent = NO;
斯威夫特 3
navigationController?.navigationBar.barTintColor = UIColor.white
navigationController?.navigationBar.isTranslucent = false
【讨论】:
【参考方案2】:您需要设置 barTintColor 属性。
您可以使用 Tint (barTintColor) 字段为导航栏背景指定自定义色调颜色。默认背景色为白色。
如果您想要纯色,还可以将顶部栏的属性设置为不透明而不是半透明 来自 iOS7 文档:https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/UIKitUICatalog/UINavigationBar.html#//apple_ref/doc/uid/TP40012857-UINavigationBar-SW1
【讨论】:
我也试过了,颜色变了,但是不一致???它在每个视图中具有不同深浅的所选颜色? :S 抱歉,这是 iOS7 风格。我不认为有没有阴影的选项,或者您应该在导航栏下方制作一个内部视图,以便导航栏后面没有任何内容。 另一种选择可能是取消选中视图上的下顶栏属性(延伸边缘)。 但是颜色明显不同?有些是褐色的,有些是灰色的,有些是全黑的,而且每个视图的背景应该完全相同? 尝试设置以下属性“translucent = NO”。这将停止从底层视图继承的颜色阴影。以上是关于iOS7中的导航栏颜色不同?的主要内容,如果未能解决你的问题,请参考以下文章