Как изменить цвет UINavigationBar глобально?

Я хочу изменить цвет UINavigationBar глобально для всего приложения из AppDelegate. Для этого я делаю:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
UINavigationBar.appearance().tintColor = UIColor(red: 63, green: 172, blue: 236, alpha: 1)
}

но, я не знаю, почему, он не меняет цвет моей панели навигации.

у меня была панель навигации подключения как Editor > Embed In > Navigation Controller

Как я могу установить цвет для NavBar?

3 ответов


set barTintColor

UINavigationBar.appearance().barTintColor = UIColor(red: 63.0/255.0, green: 172.0/255.0, blue: 236.0/255.0, alpha: 1.0)

Я думаю, вы забыли разделить с 255

для отключения translucent. В вашем первом корневом контроллере сделайте это следующим образом.

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController!.navigationBar.translucent = false
}

Swift 3:

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController!.navigationBar.isTranslucent = false
}

мой вывод:

enter image description here


использовать

navigationController.navigationBar.barTintColor = UIColor.greenColor()

вы можете использовать этот

Objective C:

    self.navigationController.navigationBar.barTintColor = [UIColor yellowColor];

Swift:

self.navigationController.navigationBar.barTintColor = UIColor.yellowColor()

это сделает вас панель навигации с желтым цветом.

PS: Не используйте tintColor, цвет оттенка для заголовков кнопок Назад.

панель навигации имеет и другие свойства. Вы можете проверить их на сайте Эппл и можете применять решения в соответствии с вашими потребностями.

https://developer.apple.com/reference/uikit/uinavigationbar