Как изменить цвет 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
}
мой вывод:
вы можете использовать этот
Objective C:
self.navigationController.navigationBar.barTintColor = [UIColor yellowColor];
Swift:
self.navigationController.navigationBar.barTintColor = UIColor.yellowColor()
это сделает вас панель навигации с желтым цветом.
PS: Не используйте tintColor, цвет оттенка для заголовков кнопок Назад.
панель навигации имеет и другие свойства. Вы можете проверить их на сайте Эппл и можете применять решения в соответствии с вашими потребностями.