Я пытаюсь программно установить фоновое изображение для панели вкладок в моем приложении. Мой код выглядит следующим образом:
RootViewController.h
IBOutlet UITabBar *mainTabBar;
IBOutlet UITabBarItem *settingsBarItem;
IBOutlet UITabBarItem *infoBarItem;
IBOutlet UITabBarItem *aboutBarItem;
RootViewController.m
-(void)viewDidLoad {
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"smallMenuBackground.png"]];
[mainTabBar insertSubview:imageView atIndex:0];
[imageView release];
[super viewDidLoad];
}
Это не работает для меня.
UPDATE
ОБНОВЛЕНИЕ 23 января 2012
Хорошо, я немного продвинулся. Это перестало работать, так как я обновился до Xcode 4.2 и IOS5. Мне удалось вернуть его обратно с помощью параметров в Интерфейсном Разработчике, но теперь это работает только для IOS5. В идеале мне бы хотелось работать программно, но сейчас я остановлюсь на решении IB.
Я просто не могу заставить его работать в любых предыдущих выпусках.
ПРИМЕЧАНИЕ: мой TabBar находится только на моем RootViewController, который является основным экраном моего приложения.
В идеале, если бы я мог заставить работать код, предложенный Нитином, было бы здорово:
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabBG.png"]];
if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.9) {
//iOS 5
[self.tabBarController.tabBar insertSubview:imageView atIndex:1];
}
else {
//iOS 4.whatever and below
[self.tabBarController.tabBar insertSubview:imageView atIndex:0];
}
[imageView release];
Любая помощь будет оценена.
С уважением,
Стивен