IOS:修改UITabBarController 系统默认渲染蓝色

前言: 

        使用UITabBarController做控制器的时候发现UI给的图标背系统渲染成了蓝色!(QNMGBD要你丫多事🔥)然后网上搜索解决方案,现在将方案总结下。

问题:

UITabBarController控制器item被系统默认渲染为蓝色

解决方案:

方案一:

在controller中调用方法将文字和图片进行统一渲染:

[self.tabBarController.tabBar setTintColor:[UIColor colorWithHexString:@"#09CCA2"]];


方案二:(这个没验证)

使用代码:

UIImage *selectedImage = [UIImage imageNamed:@"tabBar_essence_click_icon"];

selectedImage = [mSelectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

self.tabBarItem.selectedImage = selectedImage;

UIImageRenderingModeAutomatic // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式。

UIImageRenderingModeAlwaysOriginal // 始终绘制图片原始状态,不使用Tint Color。UIImageRenderingModeAlwaysTemplate // 始终根据Tint Color绘制图片,忽略图片的颜色信息。

使用SB:(这个验证了)

1、找到Item图标

2、找到图标的Render AS 属性 并选择为Original Image (这里的作用是让系统不要对图片进行处理使用原始图片)

总结:这两种方法的作用都只针对Item的图标所以设置后如果不做其他设定那么文字部分依旧是蓝色

所以如果要设置字体的话还需要如下代码进行单独定制(设定颜色和字体):

[self.tabBarController.tabBarItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} forState:UIControlStateSelected];




参考:

HASH颜色:

iOS开发-一句代码轻松实现十六进制颜色(#开头)转RGB颜色

UITabBarController设置选中时图片和文字的颜色

ios8中UITabbarController的图片颜色处理

深入浅出理解分类(category)和类扩展(extension)

iOS分类(category),类扩展(extension)—史上最全攻略

类别(Category)与类扩展 (Extension)的区别

iOS - 类扩展与分类的区别

iOS之类别(Category)、类扩展、继承的区别

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,659评论 1 180
  • 之前看了好几篇解释JS闭包的,还是不太明白,后来看了一篇博客,总算是理解。 简单来说:那么如何才能在外部获取到子方...
    zhangjingbibibi阅读 344评论 0 0
  • 抗日战争时,日本为征服中国提出了宋亡以后无华夏,明亡之后无中国的观点。认为少数民族的统治杂化了汉民族血脉。使原...
    柳d7fa阅读 562评论 0 0
  • 江中残月残花 烟波盈盈袭岸 踏尽只步执伞 伊人红妆情断 醉清风当幽欢 相思引线穿孔 青丝掩埋秋瞳 栖晴画里行舟 提...
    猫腻子语阅读 189评论 2 5
  • 2016年阅读量不多,大约20来本。其中值得读的也有一些,不值一读的也有一些,读来有趣的也有一些。 尽管在2017...
    夜安和柳阅读 442评论 0 2