UITabbar设置选中颜色(高亮),设置自定义图片

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

Leave a Reply