iOS学习之——UIGestureRecognizer

通过手势处理器可以处理碰撞事件。

UIGestureRecognizer子类:

UITapGestureRecognizer://处理用户点击手势的手势处理器
UIPinchGestureRecognizer://处理用户捏合手势的手势处理器
UIRotationGestureRecognizer://处理用户旋转手势的手势处理器
UISwipeGestureRecognizer://处理用户滑动手势的手势处理器
UIPanGestureRecognizer://处理用户拖动手势的手势处理器
UILongGestureRecognizer://处理用户长按手势的手势处理器

使用手势处理器处理用户触碰手势的编程步骤如下:

  1. 根据程序要处理的手势穿件对象的手势处理器对象。创建手势处理器时需要指定target和action参数——当该控件上发生触碰手势后,该target对象的action方法将会被激发。
  2. 如果该UI控件不允许用户交互,则将该UI控件的userInteractionEnabled属性设为YES;如果希望该控件可支持多点触碰,还需要将multipleTouchEnabled设为YES。
  3. 调用UI控件的addGestureRecognizer:方法添加该手势处理器。
    UIGestureRecognizer作为所有手势处理器的基类,它提供如下常用的方法和属性。
 - locationInView:(UIView *)view: //返回该手势在View控件中的触碰位置
 - locationOfTouch:(NSUInteger)touchIndex inView:(UIView *)view: //返回该手势中第touchIndex个触碰点在View控件汇总的触碰位置。
 - numberOfTouches: //返回该手势包含触碰点的数量(也就是用户用了几个手指进行触碰)
 view: //返回激发该手势的UI控件
 enabled: //用于设置和返回该手势处理器是否可用
 state: //返回该手势所处的状态,比如手势刚开始是处于UIGestureRecognizerStateBegan状态,手势结束时处于UIGestureRecognizerStateEnded状态。(详情见[UIGestureRecognizerState](http://blog.csdn.net/yxys01/article/details/51461644))

详情:
UITapGestureRecognizer
UIPinchGestureRecognizer
UIRotationGestureRecognizer
UISwipeGestureRecognizer
UIPanGestureRecognizer
UILongPressGestureRecognizer

你可能感兴趣的:(ios,手势处理器)