iOS 控制元件基類之 UIControl
從所有能接受使用者觸控事件的控制元件來看,他們都直接或間接地繼承與UIControl,當然他本身也是繼承與一個最基礎的檢視控制元件UIView,這個下一篇會說。然而,UIControl不能直接被使用,但是它定義了它所有子類的共同行為,提供了共有的介面。
@property(nonatomic,getter=isEnabled) BOOL enabled;
//預設是YES,如果要禁用這個控制元件,設為NO
@property(nonatomic,getter=isSelected) BOOL selected;
//當控制元件被選中時,selected屬性被設為YES,當然為了達到某種目的,可以讓控制元件自動選擇自己
@property(nonatomic,getter=isHighlighted) BOOL highlighted;
//我只知道,在滑動slide的時候,這個屬性是為YES的
@property(nonatomic) UIControlContentVerticalAlignment contentVerticalAlignment;
//設定控制元件在垂直方向上如何顯示本身的內容
@property(nonatomic) UIControlContentHorizontalAlignment contentHorizontalAlignment;
//設定控制元件如何在水平方向上如何顯示本身的內容
@property(nonatomic,readonly) UIControlState state;
//獲取控制元件現在所處的狀態
@property(nonatomic,readonly,getter=isTracking) BOOL tracking;
//判斷是否處在在tracking這個狀態
@property(nonatomic,readonly,getter=isTouchInside) BOOL touchInside;
//判斷是否處在touchInside這個狀態
//線面這四個方法是一個點選事件所處的四個狀態
- (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
- (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event;
- (void)cancelTrackingWithEvent:(UIEvent *)event;
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
//為控制元件繫結一個事件和這個事件所響應的方法
- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
//刪除一個或者多個事件的響應動作,使用nil可將給定目標事件的所有動作刪除
- (NSSet *)allTargets;
//獲取這個控制元件的所有指定動作列表
- (UIControlEvents)allControlEvents;
//獲取控制元件的所有事件列表
- (NSArray *)actionsForTarget:(id)target forControlEvent:(UIControlEvents)controlEvent;
- (void)sendAction:(SEL)action to:(id)target forEvent:(UIEvent *)event;
- (void)sendActionsForControlEvents:(UIControlEvents)controlEvents;
// 如果設計了一個自定義控制元件類,可以使用sendActionsForControlEvent方法,為基本的UIControl事件或自己的自定義事件傳送通知。例如,如果你的控制元件值正在發生變化,就可以傳送相應通知,通過控制元件的程式碼可以指定時間目標,這個通知將被傳播到這些指定的目標
相關文章
- UI篇-自定義控制元件之基類UIControlUI控制元件
- iOS 控制元件檢視基類之 UIViewiOS控制元件UIView
- iOS 控制元件之 UIProgressViewiOS控制元件UIView
- iOS 控制元件之 UISwitchiOS控制元件UI
- iOS 控制元件之 UISlideriOS控制元件UIIDE
- iOS 控制元件之 UIDatePickeriOS控制元件UI
- [譯] iOS 響應者鏈 UIResponder、UIEvent 和 UIControl 的使用iOSUI
- iOS UIView分類調整控制元件座標iOSUIView控制元件
- 類之基礎
- .NET基礎之DataList控制元件控制元件
- 給iOS開發新手送點福利,簡述UIControl事件的用法iOSUI事件
- iOS學習筆記——基礎控制元件(上)iOS筆記控制元件
- Android中實現類似iOS的SwitchButton控制元件AndroidiOS控制元件
- .NET基礎之GridView控制元件View控制元件
- ios基礎之入門(一)iOS
- 如何設計一個 iOS 控制元件? iOS 控制元件完全解析iOS控制元件
- 格物致知iOS系列之類與物件iOS物件
- c#之基類派生類base_小記C#
- iOS 開發之 ReactiveCocoa(基礎)iOSReact
- flutter初體驗之基礎控制元件知識Flutter控制元件
- Android自定義控制元件系列之基礎篇Android控制元件
- 常用控制元件類集合控制元件
- iOS動畫系列之四:基礎動畫之平移篇iOS動畫
- Android之Activity基類封裝Android封裝
- WPF窗體中嵌入/使用WinForm類/控制元件(基於.NET Core)ORM控制元件
- c#之基類派生類base_小記(2)C#
- 淺談 : iOS工程中哪些需要建立基類(MVC)iOSMVC
- iOS自定義控制元件:簡易下拉控制元件iOS控制元件
- iOS自定義控制元件 AlertViewiOS控制元件View
- iOS自定義控制元件 SegmentiOS控制元件
- iOS CAAnimation之CATransition (自定義轉場動畫工具類)iOS動畫
- iOS開發系列--Objective-C之類和物件iOSObject物件
- 重拾java基礎之內部類Java
- JAVA基礎之介面與內部類Java
- 【iOS】含tableView的ViewController基類的實現iOSViewController
- iOS開發之將自己寫的小控制元件釋出到Github上iOS控制元件Github
- (iOS)帶你寫一個類似MJRefresh的上下拉重新整理控制元件iOS控制元件
- iOS開發之使用Runtime給Model類賦值iOS賦值