繁体   English   中英

设置导航栏颜色

[英]Set navigation bar color

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

在此处输入图片说明

所以我但是在应用程序委托中这段代码来自定义导航外观:

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

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



}

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

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

在此处输入图片说明

我认为在您的情况下, 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)
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM