开发应用程序时,我们可以使用UIControl控件与用户交互。但一般不会直接使用UIControl控件,而是使用它的子类。
UIControl这个基类,主要定义了所有子类的通用接口和行为结构。
为什么是这样的呢?
因为所有的UIControl的子控件都是能与用户交互的控件,所以UIControl的主要角色是:定义通用接口,并为这些活动控件的事件机制提供通用的实现——当活动控件发生指定的事件时,UIControl控件会初始化 Action消息,并将该消息发送给事件处理方法。
UIControl与 UIView 的关系
UIControl是 UIView的子类,具有UIView 的所有外观和行为。
UIControl提供的常用方法:
-(void)addTarget:<#(nullable id)#> action:<#(nonnull SEL)#> forControlEvents:<#(UIControlEvents)#>
(void)-removeTarget:<#(nullable id)#> action:<#(nullable SEL)#> forControlEvents:<#(UIControlEvents)#>
-(NSArray*)actionsForTarget:<#(nullable id)#> forControlEvent:<#(UIControlEvents)#>
-(NSSet*)allTargets
-(UIControlEvents)allControlEvents
UI 控件的状态
每个UI 控件都有4种不同