iOS7中导航栏如何改变颜色?

5

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

我正在使用iOS7和Xcode 5进行开发。

我尝试编写以下代码在AppDelegate.m文件中使导航栏颜色相同:

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];

What should I be doing?


它是什么颜色,你期望的是什么颜色,视图的颜色是什么? - Abizern
大多数情况下,每个屏幕上只是相同的颜色。 - Tobias Lindgreen
2个回答

12

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

Objective-C

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

Swift 3

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

3

我也尝试过了,颜色确实改变了,但是不一致???每个视图中所选颜色的阴影不同?:S - Tobias Lindgreen
抱歉,但那是iOS7的风格。我认为没有选项可以没有阴影,或者您应该创建一个在导航栏下方的内部视图,这样导航栏后面就什么都没有了。 - jonas vermeulen
另一个选项可能是取消视图上的顶部栏属性(扩展边缘)的勾选。 - jonas vermeulen
但是颜色之间有显著的不同吗?一些是棕色的,另一些是灰色的,有些完全是黑色的,而且每个视图的背景应该完全相同吗? - Tobias Lindgreen
你能提供一些截图吗? - jonas vermeulen
1
尝试设置以下属性“translucent = NO”。这将停止从底层视图继承的颜色阴影。 - Msmit1993

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接