UINavigationBar появление обновления?
В моем приложении для iPad у меня есть представление настроек приложения. Один из вариантов позволяет пользователю переключать цветовую схему интерфейса. Представление настроек загружается segue в отдельный контроллер представления, чем окно моего «основного» приложения.
Когда они выбирают новый цвет, я переключаю переменную colorSchemeColor и делаю это:
// set the colors and refresh the view
[[UINavigationBar appearance] setBarTintColor:colorSchemeColor];
[[UIToolbar appearance] setBarTintColor:colorSchemeColor];
[[UITabBar appearance] setBarTintColor:colorSchemeColor];
Тем не менее, ни одна из полос не меняет цвет, пока я не выйду из окна настроек! (Когда окно настроек исчезает, цвета «основного» приложения меняются правильно!)
Затем я попытался поместить этот код сразу после обновления, чтобы просмотреть настройки:
[self.view setNeedsDisplay];
[self.view setNeedsLayout];
что не помогло. Я также добавил это:
[self.navigationController.view setNeedsDisplay];
[self.navigationController.view setNeedsLayout];
Это тоже не сработало.
Как я могу заставить свое представление настроек «перерисовать» себя, когда новый цвет выбран так, чтобы изменение было немедленно очевидным?
Спасибо!