追_沐 iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件

一、iOS事件:
  1.事件:事件就是当你在手机上点击手机屏幕、滑动手机翻面、摇动手机的时候,手机做出一些反应,对应的在应用程序里实现了某些代码的某些功能,完成这个过程就是一个事件。
  2.iOS事件类型:
  (1)触摸事件,比如点击照片放大、点击按钮等。
  (2)运动事件,比如微信摇一摇,就是一个很典型的运动事件,通过手机的运动,实现某些功能。
  (3)远程控制事件,这个我也不知道举什么例子。
  

追_沐 iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件_第1张图片

  


二、触摸事件
  1.触摸事件的处理方法:
  复写以下方法,监听触摸事件。
  **

追_沐 iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件_第2张图片
**
  2.UITouch触摸对象
  (1)先来看触摸事件会包含哪些信息:window:触摸产生所在的窗口、view:触摸产生所处的视图、tapCount触摸是单击还是双击或者更多、phase触摸事件在屏幕上有一个周期,即触摸开始、触摸点移动、触摸结束、还有中途取消。通过phase可以查看当前触摸时间在一个周期中所处的状态。phase是UITouchPhase类型的,它是一个枚举:
  · UITouchPhaseBegan
  · UITouchPhaseMoved
  · UITouchPhaseStationary
  · UITouchPhaseEnded
  
  window、view、tapCount、phase都是UITouch类中常用属性,也就是说建立一个UITouch对象就可以用这些属性来看触摸事件包含的信息。
  
  (2)
追_沐 iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件_第3张图片

  (3)实例代码:新建一个工程,在ViewController中写如下方法
  -(void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event{
      //UITouch类中有已经建立了很多UITouch对象,只需要从中取出来即可,不用重复创建,所以此处不用alloc,用一个UITouch的对象touch接收就行了。anyObject是从类里面任意取出来一个。
      UITouch * touch=[UITouch anyObject];取出一个触摸点。
      NSLog(@"%@",touch.window)//打印下touch的window属性。
      NSLog(@"%@", touch.view);//打印下当前触摸的view。
      NSLog(@"tapCount:%ld", touch.tapCount);//打印点击次数。
      NSLog(@"phase: %ld", touch.phase);//当前状态。
      //下面写一个switch,根据点击次数,实现不同的功能,具体代码就不实现了。
      switch (touch.tapCount) {
**     case 1:

         
        break;
**       case 2:**


**     break;**
**      case 3:**


**     default:**
**     break;**
      }
  }

**  (4)UITouch类中常用方法 **
  既然是类中的常用方法,那么,是实例方法的话,我们创建一个UITouch对象就可以调用,是类方法的话,我们直接用类名,即[UITouch ];可以调用。
  

追_沐 iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件_第4张图片

  例如在(3)中我们可以用取出来的对象调用这两个方法。
  CGPoint point =[touch locationInView:touch.view];//调用这个方法可以获得点击时候的位置,用一个CGPoint类型的变量接收就可以得到一个点。
  至于如何打印出这个点,我也不知道,如果你知道还望告知,谢谢。
  (5)touch事件的传递
  
追_沐 iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件_第5张图片

  那么上图中的UIGestureRecognizer又是什么呢?还有什么是第一响应者?下篇博客有详细说明。
  摘自文档:
  
追_沐 iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件_第6张图片


你可能感兴趣的:(追_沐 iOS UITouch触摸与UIGesture手势.01.事件、触摸(touch)事件)