【问题标题】:Set navigation bar color设置导航栏颜色
【发布时间】:2017-05-24 13:41:20
【问题描述】:

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

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

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

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



}

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

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

【问题讨论】:

    标签: ios swift uinavigationcontroller uinavigationbar


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多