Этот код может изменять цвет UINavigationBar везде в приложении. Однако я заметил, что он не меняет UIColor UINavigationBar, используемый UINavigationController (мой происходит от UIStoryboard).
UIColor* navBarColor = [UIColor colorWithRed:arc4random()%100/100.0
green:arc4random()%100/100.0
blue:arc4random()%100/100.0
alpha:1];
[[UINavigationBar appearance] setTintColor:navBarColor];
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearance] setAlpha:0.7];
Есть ли способ доступа к объекту appearance на панели навигации UINavigationController's? Я знаю, как устанавливать оттенки отдельных контроллеров, но я хочу иметь глобальный контроль над тем, как они смотреть.
Обновление:
Это была моя ошибка, код изменяет UIColor всех UINavigationBars, но для этого требуется, чтобы корневой навигационный контроллер был закрыт и раскрыт (например, представляя контроллер модального представления), затем он будет повторно рисовать себя с помощью нового UIColors!
Спасибо!