1. 程式人生 > >UIKit框架-基礎控制元件Swift版本: 1.UIControl方法/屬性詳解

UIKit框架-基礎控制元件Swift版本: 1.UIControl方法/屬性詳解

在前面, 我們雖然知道了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是沒有辦法和其他控制元件互動的.

好了, 這次我們就講到這裡, 下次我們繼續~