UI控件概述
UI控件大致分为三大类:
- 活动控件:大部分继承于UIControl类,操作控件会激发绑定的事件以及相应的处理方法
- 静态控件:大多值继承了UIView,未继承UIControl,用户不能操作控件,基本只是用来显示数据或状态
- 被动控件:仅用于接受用户输入的值
UIControl类主要是为活动控件的事件机制提供通用的实现方法:
- -(void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)events
- -(void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)events
- -(NSArray*)actionsForTarget:(id)target forControlEvent:(UICintrilEvents)controlEvent
- -(NSSet*)allTargets
- -(UIControlEvents)allControlEvents
控件有4种不同状态,并时刻处于其中一种状态:
- 普通:所有控件的默认状态
- 高亮:当UI控件需要突出显示时,会处于高亮状态。可通过控件的 highlighted 属性来判断是否高亮。
- 禁用:当UI控件被关闭时,它处于禁用状态。禁用状态的UI控件是不可操作的,若要禁用某控件,可在InterFace Builder中取消该控件的Enable复选框,或将控件的enable属性设置为NO。可通过控件的 enable 属性来判断是否可用/禁用。
- 选中:选中状态通常用于标识该控件以启用或被选中。可通过控件的 selected 属性来判断是否选中。
需要定制用户碰触UIControl控件时的外观,可通过重写UIControl如下方法实现:
- -beginTrackingWithTouch:withEvent: 开始碰触UIControl控件时自动激发该方法
- -continueTrackingWithTouch:withEvent: 连续碰触该UIControl控件时自动激发该方法
- -endTrackingWithTouch:withEvent: 结束碰触该UIControl控件时自动激发该方法