为什么我们要在AppDelegate中自定义UINavigationBar的barTintColor?

为什么我们要在AppDelegate中自定义UINavigationBar的barTintColor?

问题描述:

有人写这种代码为什么我们要在AppDelegate中自定义UINavigationBar的barTintColor?

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. 
+0

谢谢你帮了我) –

试试这个:

override func viewDidLoad() { 
     super.viewDidLoad() 

     self.navigationController?.navigationBar.barStyle = .black 
     self.navigationController?.navigationBar.tintColor = UIColor.white 

} 

可以在XIB /故事板设置这些属性。无需将其设置在每个控制器中。

如果你想要,所以你需要self.navigationController?.navigationBar.barTintColor = typeyourcolor.

导航条,从视图控制器设置为导航控制器的财产不视图控制器。

+0

使用谢谢你的建议,它真的有效 –

+0

如果你是新的Swift比第一次从苹果开发者门户迅速研究。比去教程 –

如果你想改变导航栏的背景颜色,然后下面的代码

self.navigationController?.navigationBar.barTintColor = UIColor.green 

,如果你想改变导航栏项目的颜色,然后用下面的代码

self.navigationController?.navigationBar.tintColor = UIColor.red