2014-02-06 7 views
0

Я хочу изменить свойство tintColor в соответствии с выбранным индексом табуляции. Код, я использую в настоящее время не работает, все виды TabBar этот код:Как установить цвет оттенка в соответствии с выбранным индексом TabBar?

- (void)viewDidAppear:(BOOL)animated{ 

    switch (self.tabBarController.selectedIndex) { 
     case 0: 
      self.tabBarController.tintColor = [UIColor colorWithRed:147/255 green:22/255 blue:0/255 alpha:1.0]; 
      break; 

     case 1: 
      self.tabBarController.tintColor = [UIColor whiteColor]; 
      break; 

     case 2: 
      self.tabBarController.tintColor = [UIColor greenColor]; 
      break; 

     default: 
      break; 
    } 
} 

ответ

2

Вам не нужно, чтобы сделать это; вместо этого, поместите это в viewWillAppear: метод ваших содержащихся контроллеров:

Контроллер 1:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    self.tabBarController.tabBar.tintColor = [UIColor blueColor]; 
} 

Контроллер 2:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    self.tabBarController.tabBar.tintColor = [UIColor yellowColor]; 
} 

Это предполагает iOS5 +. Надеюсь это поможет.

0

Вместо

self.tabBarController.tintColor 

Использование:

self.tabBarController.tabBar.tintColor 
+1

Это мой ответ? :-) Было бы уместно дать мне кредит. – Unheilig

+0

@ Юнелиг, молчите, я не буду ... –

Смежные вопросы