手势识别器(苹果自己封装的类,基于触摸事件touchxxx)步骤1、创建一个手势对象 2、对某一个view添加手势(-addGestureRecognized) 3、实现手势的方法 传的参数是手势对象 属性:state状态
UITapGestureRecognizer 轻敲 属性1:numberofTapsRequired 点几次。 属性2:numberofTouchesRequired 几根手指。 UILongPressGestureRecognizer 长按 属性1:minimumPressDuration最短触摸的时间 (默认0.5s) 属性2:allowableMovement允许触摸的误差范围,偏离一点 UISwipeGestureRecognized 轻扫(默认:从左往右滑) 属性1:direction滑动的方向 left从右往左滑 right从左往右滑 需要添加两个手势对象 UIRotationGestureRecognizer旋转。 属性1:rotation旋转到的度数。让图片随着手指的转动而转动 transform=CGAffineTransformRotate(view.transform,转的角度);在上一次的基础上转+度数。累加出错,需要进行“归零”操作,让其恢复最初始的状态(手势对象.rotation=0)transform=CGAffineTransformMakeRotation(转的角度);UIPinchGestureRecognizer 捏合,缩放 属性1:scale 从1开始往上往下变化transform=CGAffineTransformScale(view.transform,scale,scale);进行“归1”操作(手势对象.scale=1),恢复初始状态的记数值。 UIPanGestureRecognizer 拖拽。平移 方法1:-(CGPoint)translationInView:获取移动的位置。transform=CGAffineTransformTranslate(view.transform,p.x,p.y);对累加进行清0:【手势对象 setTranslation:CGPointZero inView:手势对象.view】;
解决手势冲突,使用代理,遵守协议,实现方法(返回yes)。