У меня проблемы с настройкой фонового изображения на моей вкладке.Я обновился до iOS5 и Xcode 4.2, и фоновое изображение панели вкладок просто перестало работать.
Панель вкладок присутствует только в моем RootViewController.
Мне удалось использовать Interface Builder и применилцвет фона, который не совсем то, что я хотел, но сделаю пока.Это работает только для iOS5 по некоторым причинам.В идеале я хотел бы сделать это программно.Я пытаюсь заставить работать следующий код:
RootViewController.h
@interface RootViewController : UIViewController {
IBOutlet UITabBar *mainTabBar;
IBOutlet UITabBarItem *settingsBarItem;
IBOutlet UITabBarItem *infoBarItem;
IBOutlet UITabBarItem *aboutBarItem;
}
@property (retain,nonatomic) UITabBar *mainTabBar;
@end
RootViewController.m
-(void)viewDidLoad {
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"smallMenuBackground.png"]];
if ([mainTabBar respondsToSelect:@selector(setBackgroundImage:)]){
mainTabBar.backgroundImage = imageView;
}
else{
CGRect frame = CGRectMake(0, 0, 480, 49);
UIView *v = [[UIView alloc] initWithFrame:frame];
UIImage *i = [UIImage imageNamed:@"smallMenuBackground.png"];
UIColor *c = [[UIColor alloc] initWithPatternImage:i];
v.backgroundColor = c;
[c release];
[mainTabBar insertSubview:v atIndex:0];
[v release];
}
}
Этот код просто не работает для меня,Я, должно быть, что-то делаю не так, поэтому любая помощь приветствуется.
Я также получаю пару предупреждений:
1) Метод экземпляра -respondToSelect: не найден (возвращаемый тип по умолчанию)to 'id')
2) Несовместимые типы указателей, присваиваемые UIImage * из UIImageView *
EDIT
Весь код слишком велик для вставки здесьRootViewController.h равен http://pastie.org/3249124, а RootViewController.m равен http://pastie.org/3249137