Установка фонового изображения на панели вкладок - PullRequest
0 голосов
/ 18 января 2012

У меня был следующий код, который помещал красивое изображение на задний план моей вкладки, но он перестал работать. Кто-нибудь получил какие-либо другие предложения относительно того, что я могу сделать. Я пробовал несколько других вариантов, как показано здесь: Настройка фонового изображения для панели вкладок

-(void)viewDidLoad 
{
    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];
    [super viewDidLoad];
}

Любая помощь приветствуется.

ОБНОВЛЕНИЕ 23 января 2012

Хорошо, я немного продвинулся. Это перестало работать, так как я обновился до Xcode 4.2 и IOS5. Мне удалось вернуть его обратно с помощью параметров в Интерфейсном Разработчике, но теперь это работает только для IOS5. В идеале мне бы хотелось работать программно, но сейчас я остановлюсь на решении IB.

Я просто не могу заставить его работать в любых предыдущих выпусках.

ПРИМЕЧАНИЕ: мой TabBar только на моем контроллере rootview и никаких других экранах.

С уважением, Стивен

1 Ответ

3 голосов
/ 18 января 2012

Вам больше не нужен этот трюк subview для стилизации панелей вкладок в iOS5 из-за новых API внешнего вида. Вы можете установить свойства, такие как backgroundImage и tintColor, на панели вкладок непосредственно в iOS 5, поэтому просто сделайте что-то подобное, чтобы определить, доступен ли этот метод:

if ([mainTabBar respondsToSelector:@selector(setBackgroundImage:)])
{
    mainTabBar.backgroundImage = someImage;
}
else
{
    //use the old iOS4 subview hack
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...