iOS 5: Можете ли вы переопределить настройки UIAppearance в определенных классах?

Я создаю приложение со многими контроллерами представления: у меня есть UITabBarController , который содержит 4 UINavigationController . Я хочу, чтобы все панели навигации были моего собственного цвета, скажем синего, чего я добился, сделав это в моем делегате приложения:

[[UINavigationBar appearance] setTintColor:[UIColor blueColor]];

Но у меня также есть один специальный контроллер представления, у которого есть карта, и для этого контроллера представления я хочу переопределить набор синей панели навигации с помощью UIAppearance , чтобы сделать его черным непрозрачным стилем. Я пробовал вызывать это внутри viewDidLoad :

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.translucent = YES;

Но ничего не происходит. Можно ли это сделать или мне нужно отказаться от UIAppearance и вручную установить свойства на navigationBar для каждого контроллера представления?

15
задан hypercrypt 10 December 2011 в 21:21
поделиться