简介
UIGestureRecognizer
是一个手势识别类,它的实例化对象可以识别一系列的操作并对操作进行响应。但是实际中我们通常会使用其子类来帮助完成手势识别工作。
UIGestureRecognizer
的子类有:
- UITapGestureRecognizer :响应单次或多次点击
- UIPinchGestureRecognizer : 响应双指的挤压(缩放)操作
- UIRotationGestureRecognizer : 响应双指旋转操作
- UISwipeGestureRecognizer :响应单个或多个方向的轻扫操作
- UIPanGestureRecognizer : 响应平移操作
- UIScreenEdgePanGestureRecognizer : 响应边缘滑动操作
- UILongPressGestureRecognizer : 响应长按操作
可以根据需求选择想要使用的手势识别子类。
添加和移除方法
- 实例化对象并添加
target
- (instancetype)initWithTarget:(id)target action:(SEL)action;
- 移除
target
- (void)removeTarget:(id)target action:(SEL)action;
UIView 及其子类添加 UIGestureRecognizer方法
- 添加方法
- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer;
- 移除方法
- (void)removeGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer;
UITapGestureRecognizer 特有属性
numberOfTapsRequired :触发手势的点击次数,默认为1,可以用来识别单机,双击,多击
numberOfTouchesRequired : 触发手势的手指个数,默认为1,可以用来识别多点触控
UILongPressGestureRecognizer 特有属性
numberOfTapsRequired :触发手势的点击次数,默认为1,可以用来识别单机,双击,多击
numberOfTouchesRequired : 触发手势的手指个数,默认为1,可以用来识别多点触控
minimumPressDuration :最小按压时间,即长按触发时间
allowableMovement : 允许最大移动距离,超过此距离判断触发失败
UIPinchGestureRecognizer 特有属性
scale : 用于获取缩放的大小
velocity :用于获取每秒缩放的速度
UIRotationGestureRecognizer 特有属性
rotation : 用于获取旋转角度
velocity :用于获取每秒旋转的速度
UISwipeGestureRecognizer 特有属性
direction : 设置轻扫的方向
numberOfTouchesRequired : 触发手势的手指个数,默认为1,可以用来识别多点触控
UIPanGestureRecognizer 特有属性
maximumNumberOfTouches : 滑动识别手指个数最大值
minimumNumberOfTouches : 滑动识别手指个数最小值
UIScreenEdgePanGestureRecognizer 特有属性
edges : 设置哪个边缘触发手势