我想从AppDelegate全局更改整个应用程序的UINavigationBar颜色。我这样做:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
UINavigationBar.appearance().tintColor = UIColor(red: 63, green: 172, blue: 236, alpha: 1)
}
但是,我不知道为什么,它不会改变导航栏的颜色。
我已将导航栏连接为Editor > Embed In > Navigation Controller
如何设置NavBar的颜色?
答案 0 :(得分:27)
设置barTintColor
UINavigationBar.appearance().barTintColor = UIColor(red: 63.0/255.0, green: 172.0/255.0, blue: 236.0/255.0, alpha: 1.0)
我认为你忘了用255分开
关闭translucent
。在您的第一个根控制器中,执行如下操作。
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController!.navigationBar.translucent = false
}
斯威夫特3:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController!.navigationBar.isTranslucent = false
}
我的输出:
答案 1 :(得分:0)
使用此
navigationController.navigationBar.barTintColor = UIColor.greenColor()
答案 2 :(得分:0)
您可以使用此
Objective C:
self.navigationController.navigationBar.barTintColor = [UIColor yellowColor];
Swift:
self.navigationController.navigationBar.barTintColor = UIColor.yellowColor()
它会让你的导航栏颜色为黄色。
PS:不要使用tintColor,色调颜色用于后退按钮标题。
导航栏还包含其他属性。 您也可以在Apple网站上查看它们。可以根据您的需要应用解决方案。