导航栏为白色,而isTranslucent = false

时间:2017-04-18 07:12:03

标签: ios objective-c swift uinavigationcontroller

我有一个主导航控制器,我在其中设置背景颜色

 override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationBar.backgroundColor = UIColor.blue
    self.navigationBar.isTranslucent = false
}

但是,在这种情况下,我的导航栏变为完全白色。当我将isTranslucent设置为true时,我的导航栏变得透明,但实际上并不是我需要的。 我想要只有蓝色导航栏。

以防万一在我的导航控制器中我已经过了

override var preferredStatusBarStyle: UIStatusBarStyle{ return .lightContent }

在AppDelegate中设置色调

UINavigationBar.appearance().tintColor = UIColor.white
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]

评论tintColor也没有帮助我。

This is my "blue" navigation bar

2 个答案:

答案 0 :(得分:4)

使用以下代码更改导航栏的颜色。

self.navigationBar.translucent = false
self.navigationBar.barTintColor = UIColor.blue

答案 1 :(得分:0)

您需要设置barTint颜色而不是tintColor

self.navigationBar.barTintColor = UIColor.blue