Swift - UIGestureRecognizer

Swift - UIGestureRecognizer,第1张

概述import UIKitclass ViewController: UIViewController{ override func viewDidLoad() { super.viewDidLoad() //SwipeGestureRecognizer:滑动手势 let swipe = UISwipeGestureRecognizer(ta
import UIKitclass VIEwController: UIVIEwController{    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        //SwipeGestureRecognizer:滑动手势        let swipe = UISwipeGestureRecognizer(target: self,action: #selector(swipeUp(_ :)))        //设置监听滑动的方向为向上        swipe.direction = .up        //添加到视图中        self.vIEw.addGestureRecognizer(swipe)                //ScreenEdgePanGestureRecognizer:边缘滑动(是UISwipeGestureRecognizer的子类)        let edgeSwipe = UIScreenEdgePanGestureRecognizer(target: self,action:#selector(VIEwController.edgeSwipe))        //设置监听滑动的方向            edgeSwipe.edges = .left//从左边缘往右滑        self.vIEw.addGestureRecognizer(edgeSwipe)                //UITapGestureRecognizer:轻击手势        //单击监听        let tapSingle=UITapGestureRecognizer(target:self,action:#selector(Tap(_:)))        tapSingle.numberOfTapsrequired = 1//连续点击次数        tapSingle.numberOftouchesrequired = 1//同时按下次数        //双击监听        let tapDouble=UITapGestureRecognizer(target:self,action:#selector(Tap(_:)))        tapDouble.numberOfTapsrequired = 2        tapDouble.numberOftouchesrequired = 1        //如果一个空间同时有单击,双击爽个事件要想点击双击不触发单击事件,使用以下方法        tapSingle.require(toFail: tapDouble)        //开启用户交互(如VIEw使用该手势需要更换画面,需开启交互)        self.vIEw.isUserInteractionEnabled = true        self.vIEw.addGestureRecognizer(tapSingle)        self.vIEw.addGestureRecognizer(tapDouble)                //UIPinchGesturnRecognizer:捏合手势        let pinch = UIPinchGestureRecognizer(target: self,action: #selector(Pinch(_:)))        self.vIEw.addGestureRecognizer(pinch)                //UIRotationGestrueRecognizer:旋转手势        let rotation = UIRotationGestureRecognizer(target: self,action: #selector(Rotation(_:)))        self.vIEw.addGestureRecognizer(rotation)                //UIPanGestureRecognizer:拖动手势        let VIEw = UIVIEw(frame: CGRect(x: 0,y: 0,wIDth: 50,height: 50))        VIEw.backgroundcolor = UIcolor.black        VIEw.center = self.vIEw.center        VIEw.tag = 1        self.vIEw.addSubvIEw(VIEw)                let pan = UIPanGestureRecognizer(target: self,action: #selector(Pan(_:)))        VIEw.addGestureRecognizer(pan)                //UILongPressGestureRecognzIEr:长按        let longPress = UILongPressGestureRecognizer(target: self,action: #selector(LongPress(_:)))        //设置长按手势按下多少时长才被监听        longPress.minimumPressDuration = 1.0        //取消长按手势        longPress.allowableMovement = 20.0//受灾在按下状态下距离超过20视为非长按手势。此属性默认值为10        self.vIEw.addGestureRecognizer(longPress)    }    //响应监听事件    @objc func swipeUp(_ recognizer:UISwipeGestureRecognizer){        let point = recognizer.location(in: self.vIEw)        print(point.x)        print(point.y)    }        @objc func edgeSwipe()    {        print("使用了边缘滑动手势")    }        @objc func Tap(_ cognizer:UITapGestureRecognizer)    {        let Tapnumber = cognizer.numberOfTapsrequired        print("你点击了:\(Tapnumber)")    }        @objc func Pinch(_ recognizer:UIPinchGestureRecognizer){        print("捏合比例为:\(recognizer.scale)")    }        @objc func Rotation(_ recognizer:UIRotationGestureRecognizer){        print("旋转角度为:\(recognizer.rotation*(180/CGfloat.pi))")    }        @objc func Pan(_ recognizer:UIPanGestureRecognizer){        let point = recognizer.location(in: self.vIEw)        let VIEw = self.vIEw.vIEwWithTag(1)        VIEw?.center = point        //也可以用recognizer.vIEw获取VIEw对象        recognizer.vIEw?.center = point    }        @objc func LongPress(_ sender:UILongPressGestureRecognizer){        if sender.state == .began{            print("长按开始")        }else{            print("长按结束")        }    }}
总结

以上是内存溢出为你收集整理的Swift - UIGestureRecognizer全部内容,希望文章能够帮你解决Swift - UIGestureRecognizer所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1021075.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存