• swift


    import UIKit
    class ViewController: UIViewController{
        
      
        var view1: UIView!
        override func viewDidLoad() {
            super.viewDidLoad()
            
            //向上滑动
            let upSwipe = UISwipeGestureRecognizer(target: self, action: #selector(swipe(_:)))
            upSwipe.direction = .up;
            self.view.addGestureRecognizer(upSwipe)
            //向下滑动
            let downSwipe = UISwipeGestureRecognizer(target: self, action: #selector(swipe(_:)))
            downSwipe.direction = .down;
            self.view.addGestureRecognizer(downSwipe)
            
            //边缘滑动
            let edgeSwipe = UIScreenEdgePanGestureRecognizer(target: self, action: #selector(edgeSwipe(_:)))
            edgeSwipe.edges = .left
            self.view.addGestureRecognizer(edgeSwipe)
            
            //单点手势
            let tapSingle = UITapGestureRecognizer(target: self, action: #selector(tapSingleClick))
            tapSingle.numberOfTapsRequired = 1
            tapSingle.numberOfTouchesRequired = 1
            self.view.addGestureRecognizer(tapSingle)
            
            //双击手势
            let tapDouble = UITapGestureRecognizer(target: self, action: #selector(tapDoubleClick))
            tapDouble.numberOfTapsRequired = 2
            self.view.addGestureRecognizer(tapDouble)
            
            //捏合手势
            let pinch = UIPinchGestureRecognizer(target: self, action: #selector(pichClick(_:)))
            self.view.addGestureRecognizer(pinch)
            
            //旋转手势
            let rotation = UIRotationGestureRecognizer(target: self, action: #selector(rotationClick(_:)))
            self.view.addGestureRecognizer(rotation)
            
            //拖动手势
            view1 = UIView(frame: CGRect(x: 50, y: 50,  80, height: 80))
            view1.backgroundColor = UIColor.red
            self.view.addSubview(view1)
             //
            let pan = UIPanGestureRecognizer(target: self, action: #selector(panClick(_:)))
            view1.addGestureRecognizer(pan)
            
            //长按手势
            let longPress = UILongPressGestureRecognizer(target: self, action: #selector(longPressClick(_:)))
            longPress.minimumPressDuration = 2//长按启动时间设置
            self.view.addGestureRecognizer(longPress)
        }
        //上下滑动
        @objc func swipe(_ recongizer:UISwipeGestureRecognizer){
           let point = recongizer.location(in: self.view)
            if recongizer.direction == .up{
               print("向上滑动point = (point)")
            }else if recongizer.direction == .down{
               print("向下滑动point = (point)")
            }
        }
        
        //边缘滑动
        @objc func edgeSwipe(_ recongizer:UIScreenEdgePanGestureRecognizer){
            let point = recongizer.location(in: self.view)
            print("边缘滑动point = (point)")
        }
        
        //单击
        @objc func tapSingleClick(){
            print("单击了")
        }
        //双击
        @objc func tapDoubleClick(){
            print("双击了")
        }
        //捏合
        @objc func pichClick(_ recongnizer:UIPinchGestureRecognizer){
            print(recongnizer.scale)
            print(recongnizer.location(in: self.view))
        }
        //旋转
        @objc func rotationClick(_ recongnizer:UIRotationGestureRecognizer){
            //旋转的弧度装换为角度
           print(recongnizer.rotation*(180/CGFloat.pi))
        }
        //拖动手势
        @objc func panClick(_ recongizer:UIPanGestureRecognizer){
            let point = recongizer.location(in: self.view)
            view1.center = point
        }
        //长按手势
        @objc func longPressClick(_ recongnizer:UILongPressGestureRecognizer){
            if recongnizer.state == .began {
                print("开始点击")
            }else{
                print("结束点击")
            }
        }
    }
    
  • 相关阅读:
    简述JavaScript中 同步与异步,阻塞与非阻塞
    浅谈 JavaScript 中 (for循环) 的几种写法及其性能问题
    简述vue下高德地图的一些简单功能的使用(定位,添加marker)
    vuex中mutations与actions的使用及区别
    项目中 vue与高德地图一起使用 (一)
    css3动画,requestAnimationFrame动画与canvas图形
    setTimeout 在 js 加载前的问题探究
    面试答案
    css实现垂直居中的几种常见方法
    align-conten和align-items之间的区别
  • 原文地址:https://www.cnblogs.com/baidaye/p/9290451.html
Copyright © 2020-2023  润新知