1> 实例化手势识别ui
- (id)initWithTarget:(id)target action:(SEL)action;spa
2> 设置手势识别属性ip
3> 将手势识别附加到指定的视图ci
addGestureRecognizerget
4> 编写监听方法it
0> UIGestureRecognizer 全部手势识别的父类,不容许直接使用,能够用来自定义手势io
最经常使用的属性:class
view: 发生手势的视图方法
state: 手势当前的状态,主要用于连续手势,对于离散手势通常不使用im
1> UITapGestureRecognizer 点按手势(离散手势,其余手势都是连续手势)
属性:
numberOfTapsRequired 点击次数,单击双击
numberOfTouchesRequired 手指根数
2> UILongPressGestureRecognizer 长按手势
属性不建议修改
3> UIPanGestureRecognizer 拖动手势
属性:不经常使用
方法:
// 在视图中拖动的距离
- (CGPoint)translationInView:(UIView *)view;
// 在视图中拖动的速度,一般可用于模拟惯性,须要一些物理方面的计算
- (CGPoint)velocityInView:(UIView *)view;
4> UIPinchGestureRecognizer 捏合手势
属性:
scale 比例
velocity 捏合速度,不经常使用
5> UIRotationGestureRecognizer 旋转手势
属性
rotation 旋转角度
velocity 旋转速度,不经常使用
6> UISwipeGestureRecognizer 轻扫手势,一般添加到根视图上
属性
numberOfTouchesRequired 参与轻扫手势的手指根数
direction 轻扫的方向
提示:
1) 若是要检测几个方向的轻扫,须要分别实例化几个轻扫手势
2) 轻扫手势虽然是连续手势,可是不须要去处理UIGestureRecognizerStateChanged状态;由于是在手指离开屏幕后,该手势才被识别的。