Я пытаюсь изменить цвет оттенка своего навигационного блока, если получаю push-уведомление, но оно не работает.Изменить цвет оттенка NavBar в AppDelegate при получении PushNotif
Так я думал, что это будет работать это:
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
self.setupUserInterface(color: UIColor(red: 208.0/255.0, green: 2.0/255.0, blue: 27.0/255.0, alpha: 1.0))
}
func setupUserInterface(color color: UIColor) {
// Navigation Bar
UINavigationBar.appearance().barTintColor = color
if let barFont = UIFont(name: "Avenir-Medium", size: 17.0) {
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor(), NSFontAttributeName:barFont]
}
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
// Status Bar
UIApplication.sharedApplication().statusBarStyle = .LightContent
}
Я знаю, что PushNotif получено правильно и все остальное работает нормально, но интерфейс не реагирует на это. Нужно ли менять его по-другому?
Ваша функция вызвана? – NSGangster
Да, но ничего не меняется – sesc360
Изменение UIAppearance изменит только новые navBar, которые сделаны, а не экземпляры NavBar, которые уже сделаны. Я сейчас работаю над ответом, который включает расширение класса UINavigationBar. – NSGangster