В приложении-делегате в моем приложении я вызываю следующий метод:
- (void)customizeAppearance
{
UIImage *gradientPortrait = [[UIImage imageNamed:@"gradient_portrait"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
UIImage *gradientLandscape = [[UIImage imageNamed:@"gradient_landscape"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UINavigationBar appearance] setBackgroundImage:gradientPortrait
forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBackgroundImage:gradientLandscape
forBarMetrics:UIBarMetricsLandscapePhone];
}
Этот код позволяет настроить все панели навигации в приложении. Каждая полоса становится зеленой, поскольку изображение, которое я использую, зеленое.
Теперь моя цель - переопределить вышеуказанную конфигурацию для конкретной панели навигации.
В частности, в течение жизненного цикла приложения я открываю модальный контроллер, используя стиль презентации UIModalPresentationFormSheet
. Этот контроллер представлен в пределах UINavigationController
. Поскольку мне нужно также отобразить панель навигации, прикрепленную к этому UINavigationController
, я хотел бы знать, как можно настроить эту панель, не изменяя глобальную конфигурацию, заданную в делегате приложения.
Я пытался установить свойство tintColor
панели навигации (представленное в модальном виде) на [UIColor blackColor]
и barStyle
на UIBarStyleBlack
, но они не работают. Затронуты только предметы со штангой.
Заранее спасибо.
P.S. Я использую iOS 5