UIView的tintColor是个啥
2017-12-05 本文已影响0人
多来猫
与backgroundColor的区别
UIView有一个设置背景色的backgroundColor
属性,但是在iOS7上又新增了一个tintColor
,这两个有什么区别呢?
backgroundColor顾名思义就是背景颜色
backgroundColor是不能向子视图传递的
tintColor是描述线条轮廓的一种颜色
tintColor具有向子视图传递的特性
相关的属性与方法
与tintColor
相关的属性和方法有
@property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode;
- (void)tintColorDidChange;
tintAdjustmentMode
的取值有
UIViewTintAdjustmentModeAutomatic, // 视图的着色调整模式与父视图一致
UIViewTintAdjustmentModeNormal, // 视图的tintColor属性返回完全未修改的视图着色颜色
UIViewTintAdjustmentModeDimmed, // 视图的tintColor属性返回一个变暗的颜色
tintColorDidChange
这个方法会在自己和父视图的tintColor和tintAdjustmentMode改变时调用。
tintColor的使用
对UIView设置tintColor后只能向下传递,在当前界面并没有效果,但能影响子视图中的UIButton
、UISliderView
、UISwitch
、UIProgressView
、UIImageView
、UIToolbar
、UIStepper
、等
简单粗暴理解
设置一个tintColor
的CALayer
来进行绘制
参考资料:iOS tintColor解析
参考代码:iOS7-day-by-day