手势 Swift

UIGestureRecognizer有许多子类,用于监听一些常见的手势事件,这些子类主要有:

        UISwipeGestureRecognizer   //滑动(快速移动)
        UITapGestureRecognizer       //点击(轻点)
        UIPinchGestureRecognizer    //捏合(两个手指,放大缩小的手势)
        UIRotationGestureRecognizer  // 旋转(两个手指旋转)
        UIPanGestureRecognizer         // 拖动(移动速度较慢)
        UILongPressGestureRecognizer  //长按(按住不放)

1、滑动手势

       override func viewDidLoad() {
        super.viewDidLoad()
        
        let swipe = UISwipeGestureRecognizer.init(target: self, action: #selector(swipeclick))

         //滑动方向

        swipe.direction = UISwipeGestureRecognizerDirection.up
         self.view.addGestureRecognizer(swipe)
        
       }
       func swipeclick() {
        
       }

2、轻点手势

          let tapsingle = UITapGestureRecognizer.init(target: self, action: #selector(tapClick))

       //几根手指

        tapsingle.numberOfTapsRequired = 1;

        //点击次数

         tapsingle.numberOfTouchesRequired = 1;
        self.view.addGestureRecognizer(tapsingle)
        let tapDouble = UITapGestureRecognizer.init(target: self, action: #selector(tapClick))
        tapDouble.numberOfTapsRequired = 2;
        tapDouble.numberOfTouchesRequired = 2;
        self.view.addGestureRecognizer(tapsingle)

       // 双击时间失败后才会执行单击事件

        tapsingle.require(toFail: tapDouble)
        
         }
        func tapClick() {
        
        }

3、捏合手势

     {

     let pinch = UIPinchGestureRecognizer.init(target: self, action: #selector(pinClick(_:)))
        
       
      self.view.addGestureRecognizer(pinch)
        
      }
      func pinClick(_ recognizer:UIPinchGestureRecognizer) {
        
      }

4、旋转手势

         override func viewDidLoad() {
           super.viewDidLoad()
        
             let rotation = UIRotationGestureRecognizer.init(target: self, action: #selector(pinClick(_:)))

             self.view.addGestureRecognizer(rotation)
        
         }
          func pinClick(_ recognizer:UIRotationGestureRecognizer) {
            //旋转的弧度转化成角度
            print(recognizer.rotation * (180/CGFloat(M_PI)))
           }

5、拖动手势

     class ViewController: UIViewController{
   
         var rect:UIView!
    
    
      override func viewDidLoad() {
        super.viewDidLoad()
        
        rect = UIView.init(frame: CGRect.init(x: 0, y: 0, width: 100, height: 100))
        rect.center = self.view.center
        rect.backgroundColor = UIColor.red
        self.view.addSubview(rect)
        let pan = UIPanGestureRecognizer.init(target: self, action: #selector(pinClick(_:)))
        pan.maximumNumberOfTouches = 1
       rect.addGestureRecognizer(pan)
        
      }
      func pinClick(_ recognizer:UISwipeGestureRecognizer) {
        let point  = recognizer.location(in: self.view)
        rect.center = point
        
      }



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值