Вчера загрузил IOS5 SDK, и этот код, который я использую для установки пользовательского изображения для фона UIToolbar, перестал работать. Если я установлю IOS4.3 и ниже, он все равно будет работать.
[self.bizToolbar insertSubview:[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navbar-iphone.png"]] autorelease] atIndex:0];
Кто-нибудь сталкивался с этим на IOS 5?
Предположим, что вы связали iOS5 beta SDK, вы можете сделать что-то вроде этого
if([navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {
//iOS 5 new UINavigationBar custom background
[navigationBar setBackgroundImage:image forBarMetrics: UIBarMetricsDefault];
}
Чтобы понять это, посмотрите здесь Различия API от iOS 4.3 до iOS 5.0 и найдите "UINavigationBar.h"
или внимательно посмотрите на сигнатуру нового метода здесь setBackgroundImage: forBarMetrics:
Также вот перечисление UIBarMetrics Тип
Надеюсь, что это помогает.
Этот метод не документирован и основан на определенной структуре подпредставлений UIToolbar, которая может быть изменена от версии к версии. Так что именно то, что, вероятно, произошло с выпуском iOS5
P.S. Если вы проверите обновленную ссылку UIToolBar class , вы найдете другой способ настройки UIToolBar