2015-10-26 3 views
1

Мне нужно загрузить элементы табло. Здесь мне нужны разные цвета фона для вкладок на разных вкладках. Я изменяю цвет оттенка штриховки в didSelectItem. Но цвет фона не меняется. при загрузке панели вкладок он работает нормально.Изменить цвет фона вкладки в переопределении func tabBar (tabBar: UITabBar, didSelectItem item: UITabBarItem!)

Вот мой код

override func viewDidLoad() { 

     if(tabIndex == 1){ 
      UITabBar.appearance().tintColor = UIColor.whiteColor() 
      UITabBar.appearance().barTintColor = Colors.TAB_BAR_ALBUM_BG_COLOR 
      self.view.backgroundColor = Colors.TAB_BAR_ALBUM_BG_COLOR 

     }else if(tabIndex == 2){ 
      UITabBar.appearance().tintColor = UIColor.whiteColor() 
      UITabBar.appearance().barTintColor = Colors.TAB_BAR_ME_BG_COLOR 
      self.view.backgroundColor = Colors.TAB_BAR_ME_BG_COLOR 

     } 
    } 

Во время загрузки TabBar Оттенок цвета загружается нормально

override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem!) { 

     UITabBar.appearance().tintColor = UIColor.whiteColor() 

     if(item.tag == 1){ 
      UITabBar.appearance().barTintColor = Colors.TAB_BAR_ALBUM_BG_COLOR 
      self.view.backgroundColor = Colors.TAB_BAR_ALBUM_BG_COLOR 

     }else if(item.tag == 2){ 
      UITabBar.appearance().barTintColor = Colors.TAB_BAR_ME_BG_COLOR 
      self.view.backgroundColor = Colors.TAB_BAR_ME_BG_COLOR 

     } 
    } 

При смене элементов TabBar это не работает.

ответ

0

Got Solution, что делает полностью прозрачной UITabBar в приложение делегата

[[UITabBar appearance] setBarTintColor:[UIColor clearColor]]; 
[[UITabBar appearance] setBackgroundImage:[UIImage new]]; 
[[UITabBar appearance] setShadowImage:[UIImage new]]; 
[[UITabBar appearance] setTintColor:[UIColor whiteColor]]; 

И меняется цвет фона на didSelectItem

override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem!) { 
    println(" selected index \(item.tag)") 

    if(item.tag == 0){ 
     dismissViewControllerAnimated(true, completion: nil) 
    } 

    if(item.tag == 1){ 
     self.view.backgroundColor = Colors.TAB_BAR_ALBUM_BG_COLOR 

    }else if(item.tag == 2){ 
     self.view.backgroundColor = Colors.TAB_BAR_ME_BG_COLOR 

    } 
} 
0

UITabBar.appearance().barTintColor = Colors.TAB_BAR_ME_BG_COLOR - tabBar.barTintColor = UIColor.yellowColor(). Надеюсь, эта помощь.

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