[英]Whats the difference between `UIControlState()` and `UIControlState.normal` when configuring an object
我經常看到使用UIControlState.normal
,例如在UIButton
對象上設置一個titleColor
,它將在所有控制狀態中使用,作為UIButton. setTitleColor
UIButton. setTitleColor
docs說:
通常,如果未為狀態指定屬性,則默認使用正常值。 如果未設置正常值,則屬性默認為系統值。 因此,您至少應該設置正常狀態的值。
但我也發現正在使用UIControlState.init()
,例如以下行:
UIButton.setTitleColor(UIColor, for: UIControlState())
想知道它有何不同,提前謝謝!
UIControlState.normal
是表示“正常”狀態的特定控制狀態。
UIControlState()
是一個“空”控件狀態,帶有一些未記錄的默認值。
碰巧的是,這兩個都支持原始值0
。 所以它們似乎都代表了“正常”狀態。
但依靠這一點是不好的做法。 默認值可能會更改。 使用提供的具體,明確記錄的值要好得多。
始終使用UIControlState.normal
作為“正常”狀態。 永遠不要使用UIControlState()
因為它的值是未記錄的,並且不能保證它始終具有與UIControlState.normal
相同的基礎值。
剛剛在控制台中找到, UIControlState()
和.normal
都相等,所以沒有區別
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.