tabbarItem字體及圖片顏色設置


  

tabbarItem設置圖片后運行往往與我們原始圖片顏色有出入,這是因為在默認情況下,未選中狀態圖片和字體顏色為灰色,選中狀態下圖片和字體顏色為藍色。
 
UIImage 在呈現(render)時會選擇對應的呈現方式(render mode),ios提供了3種render mode,分別是
意義
UIImageRenderingModeAutomatic  根據圖片的使用位置自動調整渲染模式(默認值)
UIImageRenderingModeAlwaysOriginal  始終繪制圖片原始狀態,不適用tint color。  
UIImageRenderingModeAlwaysTemplate  使用根據tint color繪制圖片,忽略圖片的顏色信息
 
 
 
 
 
 
所以,要解決我們的問題,只需要設置normal及select狀態下圖片的render mode就可以了。 
 
UIImage *image = [[UIImage imageNamed:@"barItem1"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *selectImage = [[UIImage imageNamed:@"barItem1s"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UITabBarItem *tabbarItem = [[UITabBarItem alloc] initWithTitle:@"首頁" image:image selectedImage:selectImage];

 

修改選中字體顏色(normal狀態同理)

[tabbarItem setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor colorWithRed:0xD9 / 255.0 green:0x1D / 255.0 blue:0x37 / 255.0 alpha:1]} forState:UIControlStateSelected];
self.navigationController.tabBarItem = tabbarItem;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM