UINavigationBar переопределение внешнего вида в iOS 5 - PullRequest
5 голосов
/ 26 февраля 2012

У меня был следующий код:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbarBackBlack.png"] forBarMetrics:UIBarMetricsDefault];
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbarBackBlack.png"] forBarMetrics:UIBarMetricsLandscapePhone];
    [[UINavigationBar appearance] setTintColor:[UIColor colorWithWhite:0.72 alpha:1.0]];

Но теперь я хочу иметь одно место в моем приложении, где я хочу, чтобы панель навигации была другого цвета, чем этот универсальный цвет, который я установил на протяженииприложение.Как я могу изменить это только для этих конкретных настроек.Возможно ли это?

Ответы [ 2 ]

5 голосов
/ 26 февраля 2012

Вы также можете вызвать setBackgroundImage для экземпляра панели навигации.

Смотрите этот пост:

Пользовательское фоновое изображение UITabBar не работает в iOS 5 и более поздних версиях

Вы также должны указать, отвечает ли он на этот селектор:

if ([navBar respondsToSelector:@selector(setBackgroundImage:)])
{
    [navBar setBackgroundImage:[UIImage imageNamed:@"tabbar_brn.jpg"]];
}
else
{
    // ios 4 code here
}
0 голосов
/ 26 февраля 2012

Просто используйте методы внешнего вида непосредственно в экземпляре панели навигации вместо прокси-объекта appearance.

[navBarInstance setBackgroundImage: ... ];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...