iOS触摸事件与手势

--------触摸事件与手势

1.触摸事件的处理方式

     在iOS上,事件的形式:触摸事件(Multitouch events)

    运动事件(Accelerometer events)

    远程控制事件(Remote control events)

     事件处理的方法:

//触摸开始(当一个或多个手指触碰屏幕时)

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

//触摸移动(当一个或多个手指在屏幕上移动时)

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

//触摸结束(当一个或多个手指离开屏幕时)

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

//触摸取消(当触摸事件被例如电话呼入这样的系统事件所取消时)

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event

2.事件传递的过程

         事件的传递:从事件发生到其处理的对象,传递要经过特殊的一段过程。当用户点击设备屏幕时,iOS(系统)捕捉到一系列的触摸,将其打包到UIEvent对象中并放置到应用程序的活动时间队中。(发生触摸事件后,系统会将改时间加入到一个由UIApplication管理的事件队列中。)UIApplication对象从事件队列中取出最前面的事件将其分发,通常,其发送事件给应用程序的主窗口——UIWindow,再由窗口对象发送事件给”第一响应者(触摸的视图)”处理。


3.响应者链的基本概念

        响应者对象是一个能接受并且处理事件的对象。UIResponser是所有响应者对象的基类。该基类定义了一系列编程接口,不但为事件处理进行服务而且还提供了通用的响应行为处理。UIApplication,UIView(包括UIWindow),UIViewController,AppDelegate都直接或间接的继承自UIResponser,所有的这些类的实例都是响应者对象。


         响应者链:表示一系列的响应者对象。事件被交由第一响应者对象处理,如果第一响应者不处理,事件被沿着响应者链向上传递,交由下一响应者(next  responder),如果响应事件,事件就被截取处理;如果一直没有处理,事件就被丢弃。



4.手势识别器

    UIGestureRecognizer类,用于检测、识别用户使用设备时所用的手势。他是一个抽象类,定义了所有手势的基本行为。

    UIGestureRecognizer子类,用于处理具体的用户手势行为

  * UITapGestureRecognizer(轻击)

  * UIPinchGestureRecognizer(捏合)

  * UIPanGestureRecognizer(平移)

  * UISwipeGestureRecognizer(轻扫)

  * UIRotationGestureRecognizer(旋转)

  * UILongPressGestureRecognizer(长按)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值