2012-01-24 3 views
0

Я использую следующую строку кода для размещения изображения для отображения фона UINavigationBar, он отлично работает в IOS4, но не работает на устройствах с IOS5.UINavigationBar.layer.contents не работает в IOS5, любая идея почему?

UINavigationBar.layer.contents = (id)[UIImage imageNamed:@"header_bg_green.png"].CGImage; 

Также, когда я тестирую его в IOS 5 Simulator, он не отображает изображение для слоя UINavigationBar.

Пожалуйста, помогите.

Спасибо, Jigar

+0

[Здесь представлена ​​полная реализация CustomNavigationBar] (https://github.com/boctor/idev-recipes/blob/master/CustomBackButton/Classes/CustomNavigationBar.m) работает как в iOS 4, так и в iOS 5. –

ответ

0

В прошивке 5 они изменили, как вы делаете заказ фон в панели навигации. Метод:

- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics 

Если вы хотите, чтобы поддерживать как IOS 4 и IOS 5 в вашем приложении, вам нужно сделать какой-то проверки (например, с помощью respondsToSelector), а затем условно использовать как старый путь или этот метод.

Смежные вопросы