Я использую протокол UINavigationBar
UIAppearance
iOS 5, чтобы настроить все мои панели навигации.
Вот моя функция настройки:
- (void)customizeApperance
{
[[UINavigationBar appearance] setTintColor:[UIColor clearColor]];
[[UINavigationBar appearance] setAlpha:0.7];
UIImageView *titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"title.png"]];
[[UINavigationBar appearance] setTitleView:titleView];
}
У меня две проблемы:
Во-первых, цвет отображается не как
clearColor
, а как черный. Какие-либо предложения?Заголовок вообще не отображается. Рэй Вендерлих показывает, как это сделать, добавив:
[[rootViewController navigationItem] setTitleView: [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"miniLogo.png"]]]
вapplicationDidFinishLaunching
. Но проблема в том, что представление заголовка будет добавлено только в контроллер корневого представления. Я используюUINavigationController
, и когда мне надоело заменятьrootViewController
наnavigationController
(имя моего контроллера навигации в AppDelegate), я вообще не могу видеть представление заголовка. Как я могу это исправить? Почему не работает вcustomizeApperance()
? Разве весь смысл использования внешнего вида не в том, чтобы просто один раз создать представление заголовка (как я сделал выше функции) и сделать его глобальным во всех панелях навигации? Как я могу этого добиться?