1、默认情况下,UITabbar的item颜色为淡灰色,选中状态为iOS经典蓝色
2、修改高亮颜色可通过设置tabbar的tintColor属性,可设置任意颜色,注意:这是tabbar的属性,不是tabbarItem的属性。
3、然而这只是设置图片的颜色,我如果是张彩色图,不是单色图怎么办?tabbar上的item默认所有的图片都是单色的,就算你图本身是彩色的也会被渲染成单色图,有两个方法可以处理。
4、方法一、在给tabbarItem设置image,并且在设置image时,image本身需要调用以下方法
1 | - (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode NS_AVAILABLE_IOS(7_0); |
renderingModel设置为UIImageRenderingModeAlwaysOriginal
5、方法二、UITabbarItem的方法中有这么一句话
1 | - (void)setFinishedSelectedImage:(nullable UIImage *)selectedImage withFinishedUnselectedImage:(nullable UIImage *)unselectedImage NS_DEPRECATED_IOS(5_0,7_0,"Use initWithTitle:image:selectedImage: or the image and selectedImage properties along with UIImageRenderingModeAlwaysOriginal") __TVOS_PROHIBITED; |
这句话的意思是说,这个方法在7.0以后就不再使用了,替代方法为:
1 | - (instancetype)initWithTitle:(nullable NSString *)title image:(nullable UIImage *)image selectedImage:(nullable UIImage *)selectedImage |
并且设置图片renderingModel属性UIImageRenderingModeAlwaysOriginal