年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3451|回复: 0

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

[复制链接]
  • TA的每日心情

    2024-10-15 10:05
  • 签到天数: 372 天

    [LV.9]以坛为家II

    发表于 2015-10-23 14:50:29 | 显示全部楼层 |阅读模式
    本帖最后由 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
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-11-22 19:52 , Processed in 0.049932 second(s), 23 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表