TintColor的介绍与使用

首先先说下tintColor和backgroundColor的区别

1.backgroundColor (背景颜色)

(1).默认父视图设置的背景颜色,如果子视图的背景颜色也是default那么默认透明的视图都是父视图的背景颜色

(2)背景颜色对于视图上的带有线条的内容是无法改变的;比如字体颜色

2.tintColor

(1).tintColor是描述线条轮廓的一种颜色,该颜色默认具有传递性,默认状态下最底部的视图的tintcolor会一直往上面的视图传递

(2).如果子视图改变了tintcolor那么将会和父视图的tintColor不一样;传递链从此处断开

(3).navagation的item的  tintColor和controller自带的View不是在同一层次上;改变controller的view的tintColor对navagation的tintColor没有颜色;

(4).由于,tintColor的特性,我们可以对镂空的图片(如tabbar的image和 BarButtonItem的image)进行设置tintColor就可以设置改变镂空图片的颜色

以上说明了通过tintColor设置父视图颜色就可以直接改变对应的子视图中线条和轮廓的颜色。

这里重点说的是tintColor设置镂空图片的颜色,说明是镂空图片呢?例如:下面图片中返回,电话和购物车图片就属于镂空的图片,我这里圆的黑背景是自己的view

这里可以通过设置tintColor直接吧电话和购物车图片设置成白色,其他界面有用到橘黄色的电话和购物车图片也很方便,这样就不用麻烦美工妹子多切图了,妹子瞬间对我崇拜起来了...!

大家应该都知道图片UIImage有个渲染模式

UIImageRenderingMode枚举值来设置图片的renderingMode属性。该枚举中包含下列值:

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

UIImageRenderingModeAlwaysOriginal  // 始终绘制图片原始状态,不使用Tint Color。

UIImageRenderingModeAlwaysTemplate  // 始终根据Tint Color绘制图片,忽略图片的颜色信息。

看完上面的相信应该懂了,我现在设置图片渲染模式为UIImageRenderingModeAlwaysTemplate,再设置按钮的tintColor为白色,结果如图:

完美!

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,627评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,222评论 4 61
  • 人生导师,是我近日听到最多的词汇,是因为春天到了,万物开始躁动了吗,都有自己的迷茫,自己的困惑。这个时候就幻想有一...
    小莫非阅读 2,833评论 0 1
  • 上个月的某一天,在家百无聊赖,无所事事,便独自出门向家附近的书店走去,在书店中看到琳琅满目,整齐排列在书架上的书,...
    幻胖v青眠阅读 3,471评论 0 2
  • 有人总说自己孤独,可什么才是真正的孤独?只有一个人的时候独饮一杯茶或斟一杯酒,那是孤独吗?我以为那不是真正的...
    Superme丶阅读 3,180评论 0 2