1. 程式人生 > >UITabBarItem自定義圖片(去除灰色)

UITabBarItem自定義圖片(去除灰色)

在專案中使用UITabBarController的時候, 每個UITabBarItem都可以展示對應的圖片。

UITabBarItem有兩種狀態, 即 選中/ 非選中狀態。

如果用storyboard設定圖片, 那麼設定的是選中狀態的圖片, 並且, 它會自動的填充為深藍色. (就是 default color)至於非選中狀態呢, 它會自動的變成灰色。  

這大大影響了美觀。

如下:


我們想要的效果, 應該是這樣的:


如果要變成這樣, 需要在UITabBarController中加入如下程式碼:

  1. NSArray *items = self.tabBar.items;  
  2. UITabBarItem *homeItem = items[0];  
  3. homeItem.image = [[UIImage imageNamed:@"tab_buddy_nor.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];  
  4. homeItem.selectedImage = [[UIImage imageNamed:@"tab_buddy_press.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];  
  5. UITabBarItem
     *qqItem = items[1];  
  6. qqItem.image = [[UIImage imageNamed:@"tab_me_nor.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];  
  7. qqItem.selectedImage = [[UIImage imageNamed:@"tab_me_press.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];  
UITabBarItem 預設是的title預設是灰色,修改title的程式碼如下:

[item setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                  [UIColor lightGrayColor], UITextAttributeTextColor, nil]
                        forState:UIControlStateNormal];