Ios 配置对象时,`UIControlState()`和`UIControlState.normal`之间有什么区别

Ios 配置对象时,`UIControlState()`和`UIControlState.normal`之间有什么区别,ios,swift,uibutton,uicontrolstate,Ios,Swift,Uibutton,Uicontrolstate,我通常看到UIControlState.normal被使用,例如在UIButton对象上设置titleColor,该对象将在所有控制状态中使用,如UIButton。setTitleColordocs说: 通常,如果未为状态指定属性,则默认值为 使用正常值。如果未设置正常值,则 属性默认为系统值。因此,至少你 应设置正常状态的值 但我也发现正在使用UIControlState.init(),例如以下行: UIButton.setTitleColor(UIColor, for: UIControlS

我通常看到
UIControlState.normal
被使用,例如在
UIButton
对象上设置
titleColor
,该对象将在所有控制状态中使用,如
UIButton。setTitleColor
docs说:

通常,如果未为状态指定属性,则默认值为 使用正常值。如果未设置正常值,则 属性默认为系统值。因此,至少你 应设置正常状态的值

但我也发现正在使用
UIControlState.init()
,例如以下行:

UIButton.setTitleColor(UIColor, for: UIControlState())

我想知道它有什么不同,提前谢谢

刚刚在控制台中找到,
UIControlState()
。normal
都是相等的,因此没有区别。
UIControlState。normal
是表示“normal”状态的特定控件状态

UIControlState()
是带有一些未记录默认值的“空”控件状态

碰巧这两个都有一个原始值
0
。因此,两者似乎都代表了“正常”状态

但依赖这一点是不好的做法。默认值可能会改变。最好使用提供的明确记录的特定值


始终对“正常”状态使用
UIControlState.normal
。永远不要使用
UIControl状态()
,因为它的值是未记录的,并且不能保证它将始终具有与
UIControl状态相同的基础值。正常

我不明白为什么人们更喜欢
UIControl.State()
而不是只写
。正常