tintColor和backgroundColor的区别

  1. backgroundColor我们都知道是背景颜色

            (1)如果子视图的背景颜色是default那么默认就是父视图的背景颜色。

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

     2. tintColor

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

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

              (3)navigation的item的tintColor和controller自带的View不是在同一层次上;改变controller的view的tintColor对navigation的tintColor没有影响

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

 

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

 

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

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

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

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

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

UIImageRenderingModeAlwaysOriginal  //始终绘制图片原始状态,不适用TintColor。

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

 

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

完美!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值