Добавление цвета в UITabBar - очень, очень странная ошибка? - PullRequest
0 голосов
/ 18 августа 2011

Итак,

Я подклассифицирую свой UITabBarController и добавляю зеленый цвет к своему UITabBar.

- (void)viewDidLoad {

    CGRect frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width, 48);
    UIView *v = [[UIView alloc] initWithFrame:frame];
    v.backgroundColor = [UIColor greenColor];
    [v setAlpha:0.35];
    [[self tabBar] insertSubview:v atIndex:0];
    [v release];

    [super viewDidLoad];
}

Это не работает.

Но если я попытаюсь [[self tabBar] insertSubview:v atIndex:1];, это сработает .. и ко всей TabBar добавится зеленый цвет !!

Я работаю на iPhone Simulator с использованием ios5 SDK, и он работает правильно иЯ могу выбрать все вкладки.Но когда я пытаюсь этот код на ios4.2 (настоящий iPhone), первая вкладка видна ... но не реагирует на прикосновения

Причины понятны, это из-за добавленияSubView из greenColor @ index == 1;

Но если я изменю на [[self tabBar] insertSubview:v atIndex:0];, можно выбрать мою первую вкладку, но tabBar просто не станет зеленой !!

Пожалуйста, сообщите !!

Спасибо.


Редактировать:

Так что проблема связана с iOS5 и более ранними версиями.Я отредактирую ответ и верну исходный ответ, как только выйдет iOS 5.

Прямо сейчас .... Прочь на форумы разработчиков !!!:)

1 Ответ

0 голосов
/ 18 августа 2011

Возможно, вы захотите создать собственный элемент управления для этого, который не подкласс UITabBarController.Из документации: «Вы никогда не должны обращаться к представлению панели вкладок контроллера панели вкладок напрямую».

Слои представления и часть иерархии непубличного API и могут изменяться в разных версиях iOS.

...