本帖最后由 Sian 于 2015-10-23 14:55 编辑
1、默认情况下,UITabbar的item颜色为淡灰色,选中状态为iOS经典蓝色
2、修改高亮颜色可通过设置tabbar的tintColor属性,可设置任意颜色,注意:这是tabbar的属性,不是tabbarItem的属性。
3、然而这只是设置图片的颜色,我如果是张彩色图,不是单色图怎么办?tabbar上的item默认所有的图片都是单色的,就算你图本身是彩色的也会被渲染成单色图,有两个方法可以处理。
4、方法一、在给tabbarItem设置image,并且在设置image时,image本身需要调用以下方法
[Objective-C] 纯文本查看 复制代码 - (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode NS_AVAILABLE_IOS(7_0); renderingModel设置为UIImageRenderingModeAlwaysOriginal
5、方法二、UITabbarItem的方法中有这么一句话
- (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以后就不再使用了,替代方法为:
- (instancetype)initWithTitle:(nullable NSString *)title image:(nullable UIImage *)image selectedImage:(nullable UIImage *)selectedImage 并且设置图片renderingModel属性UIImageRenderingModeAlwaysOriginal |