#阅读 《iOS 传感器应用开发最佳实践》笔记2014年12月22日#
1、手势类别
- UITapGestureRecognizer 点击事件
- UIPinchGestureRecognizer 捏合 打开
- UIRotationGestureRecognizer 旋转
- UISwipeGestureRecognizer 滑动
- UIPanGestureRecognize 拖动
- UILongPressGestureRecognize 长按
针对视图点击事件 可以设置一些属性 主要属性有2个:
- userInteractionEnabled 开启或者关闭用户事件
- multipleTouchEnable 设置是否接收多点触摸事件 设置这个为no.可以防止用户在iOS7.0后系统多点同时点击,会同时响应,导致白屏或者崩溃。
注意:这个2个属性值一般放在viewDidLoad()方法中设置
2、手势识别状态
UIGestureRecognizer 类有一个 state 属性,它用来表示手势识别过程中的状态,手势识别的状态分别有7个,这些状态是通过以下常量来定义的:
- UITGestureRecognizerStatePossible 手势尚未识别,它是默认状态
- UITGestureRecognizerStateBegan 开始接收连续类型手势
- UITGestureRecognizerStateChanged 接收连续类型手势状态变化
- UITGestureRecognizerStateEnded 结束接收连续类型手势
- UITGestureRecognizerStateCancelled 取消接收连续类型手势
- UITGestureRecognizerStateFailed 离散类型手势识别失败
- UITGestureRecognizerStateRecognized 离散类型手势识别成功
手势分为:连续类型 和 离散类型 手势。连续型的手势,如pinch,它在整个过程中连续产生了多个触摸点,它的识别过程,其实changed状态肯可能发生多次变化,最后有一个Ended 或 Cancelled 2种状态。离散类型手势,如tap 识别过程中,只有2个状态 识别(recognized)和 失败(failed).