Swift 通过touchesBegan 方法获取用户点击的view,模拟连续点击效果[通俗易懂]

Swift 通过touchesBegan 方法获取用户点击的view,模拟连续点击效果[通俗易懂]一:代码实现varmV:UIView! varflag=falseoverridefuncviewDidLoad(){super.viewDidLoad()mV=UIView(frame:CGRect(x:100,y:100,width:100,height:100…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

 

一:代码实现

   var mV:UIView!
  var flag = false

    override func viewDidLoad() {

        super.viewDidLoad()

        mV = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100 ))

        mV.backgroundColor = UIColor.red

        self.view.addSubview(mV)

    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

        for touch:AnyObject in touches{

//            方法一

//            //获取用户点击的坐标

//            var point = (touch as AnyObject).location(in: self.view)

//            //将用户点击的点坐标,从self.view.layer转换到mV.View.layer的点坐标

//            point = self.mV.layer.convert(point, from: self.view.layer)

//            print("point\(point)")

//            let point2 = self.mV.layer.convert(point, to: self.view.layer)

//            print("point2\(point2)")

//

//            if self.mV.layer.contains(point ){

//                print(1)

//            }

            
            //方法二

            //获取用户点击的坐标

            var point = (touch as AnyObject).location(in: self.view)

            //返回在图层层次中包含point的view.layer的最远子代,即获取到用户点击的View的layer

            let layer = view.layer.hitTest(point)

            if layer == mV.layer{

                //模拟连续点击效果

                let t:UITouch = touch  as! UITouch

                let i = t.tapCount

                if t.tapCount >= 2{

                    flag = true

                }
                if flag{
                    print(i)
                }
            }
        }
        flag = false
    }

 

二:效果显示

Swift 通过touchesBegan 方法获取用户点击的view,模拟连续点击效果[通俗易懂]

 

转载于:https://www.cnblogs.com/chenxiaopao/p/9107999.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164182.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月25日 上午11:16
下一篇 2022年7月25日 上午11:16


相关推荐

  • linux .zip文件 解压缩命令的简单使用

    linux .zip文件 解压缩命令的简单使用windows系统下常见的压缩格式有.zip.rarlinux系统下常见的压缩格式有.zip.gz.bz2.tar.gz.tar.bz2下面我来简单的介绍一下linux系统下zip压缩命令的使用方法.zip压缩命令的使用方法.zip的使用方法非常的简单使用zip命令即可压缩文件格式为zip压缩文件名源文件如图mywork

    2022年5月2日
    50
  • mybatiscodehelperpro2.9.3 激活【2021最新】

    (mybatiscodehelperpro2.9.3 激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlAFH5K5BM31-eyJsaWN…

    2022年3月30日
    227
  • Vue安装axios后页面空白问题

    Vue安装axios后页面空白问题问题 在使用 npminstallax 安装了 axios 并在 main js 中配置完成之后 启动 Vue 项目 访问页面为空白 查看页面元素 控制台报红 TypeError settinggette onlyproperty axios 在参考某篇文章之后解决问题 解决 1 安装 vue cli2 和 vue cli3 和 4 安装方法还不一样 我使用的是 vue cli4 3 1 应使用 npmaddaxios vue cli2 0 使用的是 npminstallax 2 配置 我

    2026年3月16日
    2
  • 计算机恶搞bat代码,电脑重启bat代码怎么设置 电脑整人bat代码大全

    计算机恶搞bat代码,电脑重启bat代码怎么设置 电脑整人bat代码大全在电脑系统中,我们可以设置一些操作的快捷键,比如电脑重启快捷键,怎么设置呢?下面小编给大家讲解一下关于电脑重启bat代码的解决方法,希望大家喜欢!电脑重启bat代码的解决方法一分钟后关机点击Windows﹢R键,输入shutdown-s。输完代码以后,点击回车。将会出现“windows将在一分钟后关闭”的提示框。马上关机同样点击Win﹢R键,输入shutdown-p。点击回车,可以看到电…

    2022年6月16日
    55
  • Navicat15注册机生成的激活码不正确_在线激活2022.02.04

    (Navicat15注册机生成的激活码不正确)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~CJM5…

    2022年4月1日
    70
  • C语言getline函数

    C语言getline函数cin getline 字符数组 或字符指针 字符个数 n 终止标志字符 1 用 getline 函数从输入流读字符时 遇到终止标志字符时结束 指针移到该终止标志字符之后 下一个 getline 函数将从该终止标志的下一个字符开始接着读入 2 nbsp 如果在用 cin getline ch 20 从输入流读取数据时 遇到回车键 n 是否结束读取 结论是此时 n 不是结束标志 n 被作

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号