1:继承关系:网络
UI控件继承UIView,UIView继承UIResponder,UIResponder为用户操做的响应者。ide
2:控件分类:spa
活动控件:可触发各种事件。继承UIControl基类。继承
静态控件:基本用于显示,继承UIView基类。常见的有UILabel,UIImageView,UIScrollView。事件
被动控件:用于接收用户输入的值。好比UITextField.rem
我以为只要看某个UI控件继承哪一个基类就好了。继承UIControl的活动控件,有一些通用的行为与方法。get
3:继承UIControl基类的控件it
能完成一系列的用户交互。io
添加事件:event
-(void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)events;
控件状态:
Default:默认 Highlighted:高亮(用highlighted来判断) Selected:选中(用selected来判断) Disabled:禁用(用enabled来判断)。
以button为例,能够为不一样的状态设置不一样的现实。
事件说明:(摘自网络)
事件能够用逻辑OR合并在一块儿,所以能够再一次单独的addTarget调用中指定多个事件。下列事件为基类UIControl所支持,除非另有说明,也适用于全部控件。
UIControlEventTouchDown 单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候。
IControlEventTouchDownRepeat 多点触摸按下事件,点触计数大于1:用户按下第2、3、或第四根手指的时候。
说明:屡次重复按下时,事件序列是这样的:
UIControlEventTouchDown ->
(UIControlEventTouchUpInside) ->
UIControlEventTouchDown ->
UIControlEventTouchDownRepeat ->
(UIControlEventTouchUpInside) ->
UIControlEventTouchDown ->
UIControlEventTouchDownRepeat ->
(UIControlEventTouchUpInside) ->
。。。。。
UIControlEventTouchDragInside 当一次触摸在控件窗口内拖动时。
UIControlEventTouchDragOutside 当一次触摸在控件窗口以外拖动时。
UIControlEventTouchDragEnter 当一次触摸从控件窗口以外拖动到内部时。
UIControlEventTouchDragExit 当一次触摸从控件窗口内部拖动到外部时。
UIControlEventTouchUpInside 全部在控件以内触摸抬起事件。
UIControlEventTouchUpOutside 全部在控件以外触摸抬起事件(点触必须开始与控件内部才会发送通知)。
UIControlEventTouchCancel 全部触摸取消事件,即一次触摸由于放上了太多手指而被取消,或者被上锁或者电话呼叫打断。
UIControlEventTouchChanged 当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其余取值的控件。你能够配置滑块控件什么时候发送通知,在滑块被放下时发送,或者在被拖动时发送。
UIControlEventEditingDidBegin 当文本控件中开始编辑时发送通知。
UIControlEventEditingChanged 当文本控件中的文本被改变时发送通知。UIControlEventEditingDidEnd当文本控件中编辑结束时发送通知。
UIControlEventEditingDidOnExit 当文本控件内经过按下回车键(或等价行为)结束编辑时,发送通知。
UIControlEventAlltouchEvents 通知全部触摸事件。
UIControlEventAllEditingEvents 通知全部关于文本编辑的事件。
UIControlEventAllEvents 通知全部事件。除了默认事件之外,自定义控件类还能够用0x0F000000到0x0FFFFFFF之间的值,来定义他们本身的时间。
要删除一个或多个事件的相应动做,可使用UIControl类的removeTarget方法。使用nil值就能够将给定事件目标的全部动做删除
修改控件显示外观,能够修改控件的layer。具体查layer资料。