Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类

2020-01-08 22:39:15于丽
易采站长站为您分析Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍,本文分别给出了各种手势的实现代码,需要的朋友可以参考下  

1.UITapGestureRecognizer 点击/双击手势

复制代码
var tapGesture = UITapGestureRecognizer(target: self, action: "handleTapGesture:")  
//设置手势点击数,双击:点2下  
tapGesture.numberOfTapsRequired = 2  
self.view.addGestureRecognizer(tapGesture) 
2.UIPinchGestureRecognizer 捏 (放大/缩小)手势
复制代码
var pinchGesture = UIPinchGestureRecognizer(target: self, action: "handlePinchGesture:")  
self.view.addGestureRecognizer(pinchGesture)
3.UIRotationGestureRecognizer 旋转手势
复制代码
var rotateGesture = UIRotationGestureRecognizer(target: self, action: "handleRotateGesture:")  
 self.view.addGestureRecognizer(rotateGesture)  
4. UIPanGestureRecognizer 拖动手势
复制代码
 var panGesture = UIPanGestureRecognizer(target: self, action: "handlePanGesture:")  
 self.view.addGestureRecognizer(panGesture)  
5. UISwipeGestureRecognizer 划动手势
复制代码
var swipeGesture = UISwipeGestureRecognizer(target: self, action: "handleSwipeGesture:")  
swipeGesture.direction = UISwipeGestureRecognizerDirection.Left //不设置是右  
self.view.addGestureRecognizer(swipeGesture)
6. UILongPressGestureRecognizer 长按手势
复制代码
   var longpressGesutre = UILongPressGestureRecognizer(target: self, action: "handleLongpressGesture:")  
    //长按时间  
    // longpressGesutre.minimumPressDuration 
    //所需触摸次数 
    /// longpressGesutre.numberOfTouchesRequired  
    self.view.addGestureRecognizer(longpressGesutre)  
UIGestureRecognizerState 枚举定义如下

 

enum UIGestureRecognizerState : Int {

    case Possible // the recognizer has not yet recognized its gesture, but may be evaluating touch events. this is the default state

    case Began // the recognizer has received touches recognized as the gesture. the action method will be called at the next turn of the run loop