iOS基础

一、使用手势识别的四个步骤

 1> 实例化手势识别

    - (id)initWithTarget:(id)target action:(SEL)action;

 2> 设置手势识别属性

 3> 将手势识别附加到指定的视图

    addGestureRecognizer

 4> 编写监听方法

二、手势说明

 0> UIGestureRecognizer     所有手势识别的父类,不允许直接使用,可以用来自定义手势

    最常用的属性:

    view:   发生手势的视图

    state:  手势当前的状态,主要用于连续手势,对于离散手势一般不使用

 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状态;因为是在手指离开屏幕后,该手势才被识别的。 

原文地址:https://www.cnblogs.com/monicaios/p/3518278.html