簡體   English   中英

什么是配置對象時`UIControlState()`和`UIControlState.normal`之間的區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM