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];

Это тоже не сработало.

Как я могу заставить свое представление настроек «перерисовать» себя, когда новый цвет выбран так, чтобы изменение было немедленно очевидным?

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос