isEnabled 和 isUserInteractionEnabled 的比較

UIControl 的 isEnabled 和 UIView 的 isUserInteractionEnabled 看起來很像,都代表著元件是否可以操作,當我們的手指觸碰它時,它會不會理我們。

不過如果你希望不能操作的元件長得稍微不一樣,提醒使用者它不能點選,那麼你應該選擇將 isEnabled 設為 false,因為它才會讓元件自動變成不能點選的模樣,如下圖顯示的畫面。

不過並非所有的 UI 元件都能設定 isEnabled,只有繼承 UIControl 的可以。如下圖所示,isEnabled 是 UIControl 的 property,isUserInteractionEnabled 是 UIView 的 property。所有的 UI 元件都有 isUserInteractionEnabled,因為它們都繼承 UIView,但卻不是所有的 UI 元件都有 isEnabled,只有 UIControl 的子孫能得到它。

--

--

彼得潘的 iOS App Neverland
彼得潘的 Swift iOS App 開發問題解答集

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com