第1章 手势与触摸

触摸的生命周期

UITouchPhaseBegan——用户一旦触摸屏幕,即进入此阶段

UITouchPhaseMoved——用户的手指在屏幕上移动

UITouchPhaseStationary——自上一个事件发生之后,用户�仍然在触摸着屏幕表面,但却没有移动

UITouchPhaseEnded——当用户把触摸屏幕的手指从屏幕上拿开之后,就进入了这个阶段

UITouchPhaseCancelled——如果iOS系统不再追踪某个触摸操作,那么就会进入该阶段。这通常是因为系统中断而导致的。

触摸事件的响应者

包括UIView及UIViewController在内的所有UIResponder子类都可以响应触摸。每个类都可以决定自己要如何响应。

触摸相关的回调方法

touchesBegan:withEvent:——当触摸事件处于“起步阶段”,也就是用户刚开始触碰屏幕时,系统会调用这个方法。

touchesMoved:withEvent:——当用户触摸屏幕并持续在屏幕上移动手指时,系统会调用这个方法。

touchesEnded:withEvent:——当用户把触摸屏幕的一根手指或所有手指都从屏幕上拿开时,触摸过程就结束了,而系统此时会调用这个方法。如果在用户移动手指的过程中程序做了一些处理,那么此时应该执行相关的清理工作。

touchesCancelled:WithEvent:——如果目前正在发生的触摸事件遭到系统阻断,致使Cocoa Touch必须对此做出响应,那么系统会调用这个方法。

同时识别多个手势

实现代理中的gestureRecognizer: shouldRecognizeSimultaneouslyWithGestureRecognizer: 的委托方法,并将其返回值设为YES,使得多个手势识别器能够同时运作。

你可能感兴趣的:(第1章 手势与触摸)