UIKit提供了一組控件:UISwitch開關、UIButton按鈕、UISegmentedControl分段控件、UISlider滑塊、UITextField文本字段控件、UIPageControl分頁控件。
控件是對UIView派生類的實用增強及補充,並可以直接附著於導航欄、表格單元,甚至更大的對象。
這些控件的基類均是UIControl,而UIControl派生自UIView類,所以每個控件都有很多視圖的特性,包括附著於其他視圖的能力。所有控件都擁有一套共同的屬性和方法。
所以學習控件,我們先學習UIControl。
屬性
enabled
控件默認是啟用的。要禁用控件,可以將enabled屬性設置為NO,這將導致控件忽略任何觸摸事件。被禁用後,控件還可以用不同的方式顯示自己,比如變成灰色不可用。雖然是由控件的子類完成的,這個屬性卻存在於UIControl中。
selected
當用戶選中控件時,UIControl類會將其selected屬性設置為YES。子類有時使用這個屬性來讓控件選擇自身,或者來表現不同的行為方式。
contentVerticalAlignment
控件如何在垂直方向上布置自身的內容。默認是將內容頂端對其,對於文本字段,可能會改成UIControlContentVerticalAlignmentCenter。對於這個字段,可以使用下列諸值:
[java]水平對齊方式,可以只用下列值:
[java]事件通知
UIControl類提供了一個標准機制,來進行事件登記和接收。這令你可以指定你的控件在發生特定事件時,通知代理類的一個方法。如果要注冊一個事件,可以使用addTarget方法:
[java]