Swift-tintColor与tintAdjustmentMo
2020-03-05 本文已影响0人
爱玩游戏的iOS菜鸟
tintcolor属性声明
tintcolor
- 在iOS7.0后UIView新增加了一个tintColor属性,定义了一个非默认的着色颜色值,其值的设置会影响到以视图为根视图的整个视图层次结构。
- 主要是应用到诸如app图标、导航栏、按钮等一些控件上,以获取一些有意思的视觉效果。
- 默认情况下,视图的tintColor是为nil的,即视图将使用父视图的tint color值。
- 当指定了一个视图的tintColor之后,会自动传播到视图层次结构(以当前视图为根视图)中其所有的子视图上
- 如果视图层次结构中没有找到任何一个设置的tintColor值,则会使用系统定义的颜色值(在xib中可以看到为蓝色)
tintAdjustmentMode属性
- tintAdjustmentMode属性,是一个枚举值,定义了tint color的调整模式
//枚举定义
@available(iOS 7.0, *)
public enum TintAdjustmentMode : Int {
case automatic// 视图的着色调整模式与父视图一致
case normal// 视图的tintColor属性返回完全未修改的视图着色颜色
case dimmed// 视图的tintColor属性返回一个去饱和度的、变暗的视图着色颜色
}
tintColorDidChange()
- 这个方法会在视图的tintColor或tintAdjustmentMode属性改变时自动调用。
- 如果当前视图的父视图的tintColor或tintAdjustmentMode属性改变时,也会调用这个方法。
- 如果有这个需要,可以在这个方法里更新视图