UIKit框架-基礎控制元件Swift版本: 1.UIControl方法/屬性詳解
阿新 • • 發佈:2018-12-31
在前面, 我們雖然知道了Objective-C中的控制元件是怎麼建立的, 本來不覺得要再說的, 但在開發過程中, Swift的語法和我想象中不太一樣, 所以我這裡還是得寫一樣, 為了方便新人的快速入門, 好了廢話少說, 現在讓我們來了解一下基礎控制元件的一些屬性和方法:
1.狀態屬性
在我們眾多的UI控制元件裡, 有很多控制元件都是屬於控制型別的, 他們都是繼承於UIControl這個父類, 所以他們有相應的方法和屬性, 現在來讓我們看看常見的屬性:
// 1. 控制元件啟用/禁用, 預設是啟用
var enabled: Bool
// 2. 控制元件選中/不選中, 預設不選中
var selected: Bool
// 3. 控制元件高亮/非高亮, 預設非高亮
var highlighted: Bool
2.內容佈局屬性
在我們一些可控的控制元件裡面, 是有一些需要內容佈局的, 所以下面兩個屬性可以完成我們想要的東西:
// 1. 內容水平居中
var contentVerticalAlignment: UIControlContentVerticalAlignment
// 2. 內容垂直居中
var contentHorizontalAlignment: UIControlContentHorizontalAlignment
3.監聽方法
監聽方法就不用多說了, 在UIButton中我們經常會看到新增監聽方法, 而刪除監聽方法我們等下做一下示範:
// 1.新增監聽方法
func addTarget(target: AnyObject?, action: Selector, forControlEvents controlEvents: UIControlEvents)
// 2.刪除監聽方法
func removeTarget(target: AnyObject?, action: Selector, forControlEvents controlEvents: UIControlEvents)
4.其他監聽方法
這些監聽方法不常用, 這裡就不多做解釋了, 有興趣的朋友可以自己去研究一下:
func allTargets() -> NSSet
func allControlEvents() -> UIControlEvents
func actionsForTarget(target: AnyObject, forControlEvent controlEvent: UIControlEvents) -> [AnyObject]?
func sendAction(action: Selector, to target: AnyObject?, forEvent event: UIEvent?)
func sendActionsForControlEvents(controlEvents: UIControlEvents)
5.補充一些知識點
如果沒有深入研究的朋友可能不知道, 其實UIControl是繼承於UIView這個父類的, 如果沒有這個父類, 那麼UIControl是沒有辦法和其他控制元件互動的.
好了, 這次我們就講到這裡, 下次我們繼續~