事件通知
UIControl类提供了一个标准机制,来进行事件登记和接收。这令你可以指定你的控件在发生特定事件时,通知代理类的一个方法。
如UITextField要注册一个 文本被改变 事件,可以使用addTarget方法:
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
事件可以用逻辑OR合并在一起,因此可以再一次单独的addTarget调用中指定多个事件。
下列事件为基类UIControl所支持,除非另有说明,也适用于所有控件
单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候。
多点触摸按下事件,点触计数大于1:用户按下第二、三、或第四根手指的时候。
当一次触摸在控件窗口内拖动时。
当一次触摸在控件窗口之外拖动时。
当一次触摸从控件窗口之外拖动到内部时。
当一次触摸从控件窗口内部拖动到外部时。
所有在控件之内触摸抬起事件。
所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)。
所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断。
当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。
你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。
//以下是关于文本控件事件通知
当文本控件中开始编辑时发送通知。
当文本控件中的文本被改变时发送通知。
当文本控件中编辑结束时发送通知。
当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。
通知所有关于文本编辑的事件。
UIControlEventAllEvents
通知所有事件。