首页 > 解决方案 > 快速更改导航栏颜色

问题描述

在这里,此代码有效,导航栏的颜色变为蓝色

override func viewDidLoad() {
    super.viewDidLoad()
    navigationItem.title = "Countries"
    navigationController?.navigationBar.barTintColor = UIColor.blue
    tabBarController?.tabBar.tintColor = UIColor.white
    view.backgroundColor = .white
}

没有 navigationController?.navigationBar.prefersLargeTitles = true

但是当添加navigationController?.navigationBar.prefersLargeTitles = true

颜色不变

override func viewDidLoad() {
    super.viewDidLoad()
    navigationItem.title = "Countries"
    navigationController?.navigationBar.prefersLargeTitles = true
    navigationController?.navigationBar.barTintColor = UIColor.blu
    tabBarController?.tabBar.tintColor = UIColor.white
    view.backgroundColor = .white
}

与 navigationController?.navigationBar.prefersLargeTitles = true

标签: iosswiftuinavigationbar

解决方案


在这里,您可以使用 [navigationBar.backgroundColor] 代替 [navigationBar.backgroundColor]。barTintColor]

    navigationItem.title = "Countries"
    
    navigationController?.navigationBar.prefersLargeTitles = true
    
    navigationController?.navigationBar.backgroundColor = UIColor.blue
    
    tabBarController?.tabBar.tintColor = UIColor.white
    
    view.backgroundColor = .white

推荐阅读