IOS事件处理

在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”
 
   UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件
•UIView是UIResponder的子类,可以覆盖下列4个方法处理不同的触摸事件
 
UIEvent可获取是哪个特定的事件
 
触摸、加速、触摸事件。
 
默认所有的UIView不支持两个手指。要设置才可以,最好不要
搞多个手指,移动时不知道搞哪个手指的位置
 
事件的产生和传递:
       1. 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中
   2. UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow)
      3. 主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件,这也是整个事件处理过程的第一步
 
把各个view公共的事件处理方法抽到父类中
 
__func__会获取方法在哪个类中调用
•触摸事件的传递是从父控件传递到子控件
Ø点击了绿色的view:
UIApplication->UIWindow->白色 ->绿色
Ø点击了蓝色的view:
UIApplication->UIWindow->白色 ->橙色 ->蓝色
Ø点击了黄色的view:
UIApplication->UIWindow->白色 ->橙色 ->蓝色 ->黄色
 
 
 
posted @ 2015-06-17 00:32  HugoJiang  阅读(134)  评论(0编辑  收藏  举报