Я создаю приложение со многими контроллерами представления: у меня есть UITabBarController
, который содержит 4 UINavigationController
. Я хочу, чтобы все панели навигации были моего собственного цвета, скажем синего, чего я добился, сделав это в моем делегате приложения:
[[UINavigationBar appearance] setTintColor:[UIColor blueColor]];
Но у меня также есть один специальный контроллер представления, у которого есть карта, и для этого контроллера представления я хочу переопределить набор синей панели навигации с помощью UIAppearance
, чтобы сделать его черным непрозрачным стилем. Я пробовал вызывать это внутри viewDidLoad
:
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.translucent = YES;
Но ничего не происходит. Можно ли это сделать или мне нужно отказаться от UIAppearance и вручную установить свойства на navigationBar
для каждого контроллера представления?