Swift导航栏背景颜色白色不起作用

时间:2016-10-21 12:33:37

标签: swift colors uinavigationcontroller

我很难尝试将navigationBar.barTintColor更改为白色。奇怪的是,所有其他颜色都有效,但不是白色!

self.navigationController!.navigationBar.barTintColor = UIColor.whiteColor()

以上行仅适用于白色。

甚至尝试过背景图片。还是一样。任何其他颜色的作品,但不是白色!!白色总是被浅灰色取代......

请告诉我出错的地方......

感谢。

1 个答案:

答案 0 :(得分:3)

试用此代码:

在viewDidLoad中:

    title = "Some Title"

    UIApplication.shared.statusBarStyle = .default
    navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
    navigationController?.navigationBar.shadowImage = UIImage()
    navigationController?.navigationBar.isTranslucent = true

    //Line under NavigationBar
    let barView = UIView(frame: CGRect(x:0, y:(UINavigationController().navigationBar.frame.height + UIApplication.shared.statusBarFrame.height), width:view.frame.width, height:0.6))
    barView.backgroundColor=UIColor.red // set any colour you want..
    navigationController?.navigationBar.addSubview(barView)

    //Title Colour
     navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.red]

注意:

以上代码适用于任何背景颜色....      如果您希望navigationBar为绿色....将您的视图背景颜色设置为绿色...

enter image description here