我试图在 iOS 7 中为我的 appdelegate 中的所有导航栏设置色调。这在以前一直有效,但由于某种原因,现在什么都没有改变。在我的 appDelegate 的 didFinishLaunching 部分中,我有:
[[UINavigationBar appearance] setTintColor:toolbarcolor];
但是,该栏保持默认的半透明选项。
我试图在 iOS 7 中为我的 appdelegate 中的所有导航栏设置色调。这在以前一直有效,但由于某种原因,现在什么都没有改变。在我的 appDelegate 的 didFinishLaunching 部分中,我有:
[[UINavigationBar appearance] setTintColor:toolbarcolor];
但是,该栏保持默认的半透明选项。
您可以使用barTintColor属性设置条形颜色:
[[UINavigationBar appearance] setBarTintColor:[UIColor purpleColor]];
如果您也不希望导航栏是半透明的,您可以将translucent属性设置为 NO。
不幸的是,半透明属性在 UINavigationBar 外观代理上不可用,因此您必须单独设置此属性(在情节提要、.xib 或控制器中的 viewDidLoad 之类的东西中)。
斯威夫特版本:
UINavigationBar.appearance().barTintColor = colorBar
如果要为整个应用程序设置条形颜色,请在 AppDelegate.m 的“didFinishLaunchingWithOptions”方法中编写
[[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]];
以下是输出:
在 Swift 3.0 中
let navigationBarAppearnce = UINavigationBar.appearance()
导航栏的tintColor会影响后退指示符图像、按钮标题和按钮图像的颜色:
navigationBarAppearnce.tintColor = UIColor.white
barTintColor 属性会影响条形本身的颜色:
navigationBarAppearnce.barTintColor = UIColor(red: 0.180, green: 0.459, blue: 0.733, alpha: 1.00)