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


相关推荐

  • 基于量化交易回测的金融股票案例基础知识[通俗易懂]

    基于量化交易回测的金融股票案例基础知识[通俗易懂]1量化交易定义量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选出能带来超额收益的多种“大概率”事件以制定策略。它极大的降低了市场波动给投资者情绪带来的影响,避免在市场极度狂热或者悲观的情况下做出非理性的投资决策。2量化交易分类趋势性交易:适合一些主观交易的高手,用技术性指标作为辅助工具在市场中如鱼得水的,但如果只用各种技术指标或指标组合作为核心算法…

    2022年5月8日
    59
  • httprunner(3)用脚手架快速搭建项目[通俗易懂]

    httprunner(3)用脚手架快速搭建项目[通俗易懂]前言如何快速搭建一个httprunner项目呢?我们可以使用脚手架,脚手架就是自动地创建一些目录,形成一个项目的架构,不需要我们再手动的去创建查看创建新项目的命令先来查看一下帮助命令httpr

    2022年7月29日
    14
  • 搭建Nginx图片服务器

    搭建Nginx图片服务器一 安装 Nginx 先安装 Nginx 看我之前发的文章 搭建 Nginx 服务器二 安装 vsftpd 再安装 vsftpd 组件 看我之前发的文章 Linux 安装 ftp 组件 8 步完成 三 开始搭建 Nginx 图片服务器 1 效果例如 图片通过 ftp 服务上传到 home ftpuser www images 目录下 我想通过访问 Nginx 服务器来访问 ftp 目录下的图片文件 该 url 为 http 192 168 1

    2026年3月26日
    1
  • kali 国内源 与 apt-get update 报错-GPG error的解决方案[通俗易懂]

    kali 国内源 与 apt-get update 报错-GPG error的解决方案[通俗易懂]#中科大debhttp://mirrors.ustc.edu.cn/kalikali-rollingmainnon-freecontribdeb-srchttp://mirrors.ustc.edu.cn/kalikali-rollingmainnon-freecontrib#浙大debhttp://mirrors.zju.edu.cn/kalikali-rol…

    2022年10月13日
    10
  • 开源免费!AI 编程助手 OpenCode 保姆级教程

    开源免费!AI 编程助手 OpenCode 保姆级教程

    2026年3月12日
    3
  • jQuery数组反转「建议收藏」

    jQuery数组反转「建议收藏」代码很短,不过实现的时候需要原始数组的配合。并且,对数字索引数组支持还不错,索引不连续的一样支持(对于非连续索引,只取最大的索引加1作为数组的长度,不影响数组元素反转)。 $(function(){ vararr1=[23,45,77,2,5]; //数组反转。 varlen1=arr1.length; varnewarr1=$.map(

    2022年5月15日
    45

发表回复

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

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