设置导航栏颜色

时间:2017-05-24 13:41:21

标签: ios swift uinavigationcontroller uinavigationbar

我的应用程序中有一个导航栏,我需要自定义颜色

enter image description here

所以我在app中委托这段代码来自定义导航外观:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

UINavigationBar.appearance().isTranslucent = false
        UINavigationBar.appearance().barTintColor = getColorFromHex("438CC5")
        UINavigationBar.appearance().tintColor = UIColor.white



}

我通过颜色选择器拾取颜色并将十六进制放入我的代码但没有获得相同的颜色

任何帮助我如何设置导航栏的特定颜色?

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为在你的情况下 UINavigationBar.appearance().isTranslucent = false应该解决问题。 isTranslucent设置为true

时,颜色可能略有不同

请注意设置appearance会更改整个应用中的导航栏。考虑从UIViewController显式更改导航栏的颜色,如:

class Style {
    class func coloredNavigationBar(navigationBar: UINavigationBar?, color: UIColor) {
        navigationBar?.tintColor = UIColor.white
        navigationBar?.barTintColor = color
        navigationBar?.isTranslucent = false
    }
}

用法:

class FooController : UIViewController {
    override func loadView() {
        super.loadView()
        Style.coloredNavigationBar(navigationBar: navigationController?.navigationBar, color : .red)
    }
}