手势,是触摸事件的集合。
在照片应用里面可以用两根手指放大缩小图片。
一些常用的手势在SDK里面有相应的类。
swipe rotation pinch pan long-press tap
识别手势并处理的步骤
1,创建相应的gesture recognizer
2,加到相应的view里面
3,为相应的事件写个处理方法
方法要求:
1,返回类型Void
2,不接收参数,或接收一个UIGestureRecognizer类型的参数,类似如下
- (void) tapRecognizer:(UITapGestureRecognizer *)paramSender{
/* */
}
- (void) tapRecognizer{
/* */
}
手势分为两种:discrete(离散手势) 和 continuous(持续手势)
离散手势,发生之后通知处理
持续手势,一边发生一边通知处理
比如双击事件是离散的。旋转(旋转地图之类的)事件是持续的
UIView 加入手势用addGestureRecognizer: 移除手势用 removeGestureRecognizer:
UIGestureRecognizer的state属性标识了其状态
离散手势的状态可能值:
UIGestureRecognizerStatePossible
UIGestureRecognizerStateRecognized
UIGestureRecognizerStateFailed
持续手势的状态的可能值:
UIGestureRecognizerStatePossible
UIGestureRecognizerStateBegan
UIGestureRecognizerStateChanged
UIGestureRecognizerStateEnded
UIGestureRecognizerStateFailed