为什么我们要在AppDelegate中完全自定义UINavigationBar的barTintColor?
Why do we customize UINavigationBar's barTintColor exactly in AppDelegate?
有人写过这种代码
override func viewDidLoad() {
super.viewDidLoad()
// Status bar white font
self.navigationBar.barStyle = UIBarStyle.Black
self.navigationBar.tintColor = UIColor.whiteColor()
}
但是不行,在AppDelegate里面更新确实可以,但是为什么在viewDidLoad里面不行呢?
如果您想更改导航栏背景颜色,请使用以下代码
self.navigationController?.navigationBar.barTintColor = UIColor.red // set what ever color that you wanr.
试试这个:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.barStyle = .black
self.navigationController?.navigationBar.tintColor = UIColor.white
}
您可以在 XIB/Storyboard 中设置这些属性。无需在每个控制器中设置它。
如果你想从视图控制器中设置它,那么你需要self.navigationController?.navigationBar.barTintColor = typeyourcolor.
导航栏是导航控制器的 属性 而不是视图控制器。
如果你想改变导航栏的背景颜色,那么使用下面的代码
self.navigationController?.navigationBar.barTintColor = UIColor.green
如果你想改变导航栏项目的颜色然后使用下面的代码
self.navigationController?.navigationBar.tintColor = UIColor.red
有人写过这种代码
override func viewDidLoad() {
super.viewDidLoad()
// Status bar white font
self.navigationBar.barStyle = UIBarStyle.Black
self.navigationBar.tintColor = UIColor.whiteColor()
}
但是不行,在AppDelegate里面更新确实可以,但是为什么在viewDidLoad里面不行呢?
如果您想更改导航栏背景颜色,请使用以下代码
self.navigationController?.navigationBar.barTintColor = UIColor.red // set what ever color that you wanr.
试试这个:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.barStyle = .black
self.navigationController?.navigationBar.tintColor = UIColor.white
}
您可以在 XIB/Storyboard 中设置这些属性。无需在每个控制器中设置它。
如果你想从视图控制器中设置它,那么你需要self.navigationController?.navigationBar.barTintColor = typeyourcolor.
导航栏是导航控制器的 属性 而不是视图控制器。
如果你想改变导航栏的背景颜色,那么使用下面的代码
self.navigationController?.navigationBar.barTintColor = UIColor.green
如果你想改变导航栏项目的颜色然后使用下面的代码
self.navigationController?.navigationBar.tintColor = UIColor.red