一、事件

   分三类:触摸事件,晃动事件,远程控制事件

二、触摸事件   

   触摸对应的UI类是UITouc

   1,UIView (继承自UIResponder)支持触摸事件。

   2,我们往往要定义UIView的子类来实现触摸的相关方法。

      原因是对UIView只能看到其.h文件,看不到.m文件,要实现触摸事件,必须要重写其四个方法: touches..began、touches..moved、touches...ended、 touches..canceled来实现我们自己想要的反应行为。

三、响应者链

  1,检测顺序:UIApplication -> window -> viewController -> view -> 检测所有⼦视图。

 2,处理事件的顺序:触摸的⼦视图 -> view -> viewController -> window -> UIApplication。

 

四、具体的一些常用API

 

 UITouch *touch=[touches anyObject];

     //取得当前位置

  1,  CGPoint current=[touch locationInView:self.superview];

    //取得前一个位置

   2, CGPoint previous=[touch previousLocationInView:self.superview];

 

五、注意事项

   响应者链可以被打断,使其⽆法完成检测查询过程。 视图类的属性 userInteractionEnabled 关闭后能阻断查询过程。

     1, UI中,基本上所有的控件的用户交互都是打开的,但是也有一些特例:如lableimageView

     2, userInteractionEmabled 这个属性是影响响应者连的检测过程。如果一个lableimageView的此属性没有设置为YES的话,其子控件就不会监测此过程。

 

 

posted on 2015-08-24 22:07  竹间Code  阅读(144)  评论(0编辑  收藏  举报