美文网首页工具癖
ios 手势集合

ios 手势集合

作者: 轻斟浅醉17 | 来源:发表于2017-06-14 12:03 被阅读128次

    UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有6个子类处理具体的手势:
    1.UITapGestureRecognizer (任意手指任意次数的点击)

    // 点击次数
    numberOfTapsRequired
    
    // 手指个数
    numberOfTouchesRequired   
    
    UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] init];  
    [tapGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];  
    [tapGestureRecognizer setNumberOfTapsRequired:2];  
    [tapGestureRecognizer setNumberOfTouchesRequired:2];  
    [self.view addGestureRecognizer:tapGestureRecognizer];  
    

    2.UIPinchGestureRecognizer (两个手指捏合动作)

    // 手指捏合,大于1表示两个手指之间的距离变大,小于1表示两个手指之间的距离变小
    scale
    // 手指捏合动作时的速率(加速度)
    velocity
    
    UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] init];  
    [pinchGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];  
    [self.view addGestureRecognizer:pinchGestureRecognizer];   
    

    3.UIPanGestureRecognizer (摇动或者拖拽)

    // 最少手指个数
    minimumNumberOfTouches
    // 最多手指个数
    maximumNumberOfTouches
    
    UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] init];  
    [panGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];  
    [panGestureRecognizer setMinimumNumberOfTouches:1];  
    [panGestureRecognizer setMaximumNumberOfTouches:5];  
    [self.view addGestureRecognizer:panGestureRecognizer]; 
    

    4.UISwipeGestureRecognizer (手指在屏幕上滑动操作手势)

    // 滑动手指的个数
    numberOfTouchesRequired
    // 手指滑动的方向 (Up,Down,Left,Right)
    direction
    
    UISwipeGestureRecognizer *swipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] init];  
    [swipeGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];  
    [swipeGestureRecognizer setNumberOfTouchesRequired:2];  
    [swipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionRight];  
    [self.view addGestureRecognizer:swipeGestureRecognizer];  
    

    5.UIRotationGestureRecognizer (手指在屏幕上旋转操作)

    // 旋转方向,小于0为逆时针旋转手势,大于0为顺时针手势
    rotation
    // 旋转速率
    velocity
    
    UIRotationGestureRecognizer *rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc] init];  
    [rotationGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];  
    [self.view addGestureRecognizer:rotationGestureRecognizer];  
    

    6.UILongPressGestureRecognizer (长按手势)

    numberOfTapsRequired
    // 需要长按的手指的个数
    numberOfTouchesRequired
    // 需要长按的时间,最小为0.5s
    minimumPressDuration
    // 手指按住允许移动的距离
    allowableMovement
    
    UILongPressGestureRecognizer *longPressGestureRecognizer = [[UILongPressGestureRecognizer alloc] init];  
    [longPressGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];  
    [longPressGestureRecognizer setMinimumPressDuration:1.0f];  
    [longPressGestureRecognizer setAllowableMovement:50.0];  
    [self.view addGestureRecognizer:longPressGestureRecognizer];  
    

    相关文章

      网友评论

        本文标题:ios 手势集合

        本文链接:https://www.haomeiwen.com/subject/lvusqxtx.html