【触摸案例-多点触摸的案例 Objective-C语言】

一、我们来做这个多点触摸的案例

通知

1.首先呢,按着这个option键啊,可以模拟多点触摸,

通知

然后呢,再去怎么着去画圈儿,

通知

它这个里边就会产生一个imageView,跟着你去变,会有这么一个效果,

那么,首先啊,我们新建一个项目,

Name:03-多点触摸的案例

通知

1)首先,我们把控制器的view,直接变成黑色的,

通知

黑色的完了以后呢,

通知

2)我要在这个黑色的view上面做事情,我要给它绑定一个类,BGView,

通知

New一个File,继承自UIView,叫做BGView,

通知

粘贴一下名称,BGView,

通知

选中这一段儿注释,删掉,

通知

在这个里边写代码啊,

3)首先,当我点击屏幕的时候,它就会出来这么一个imageView,

通知

当我两个手指头点击的时候,它会出来两个imageView,所以我们touchesBegan:一定是要有的,我们先来把touchesBegan:先来写一下,

// 手指触摸这个view的时候调用

- (void)touchesBegan:(NSSet< UITouch * > *)touches withEvent:(UIEvent *)event{

}

通知

4)我们首先要把两个手指头的做出来才行,先让它把两个手指头,做出来,才行啊,怎么着来做,实际上,这个touches,说是一个集合,我们之前做的呢,一直是一个元素,那么,两个手指头,怎么着去做啊,首先,touches里边,放的都是UITouch类型的元素,你有几个元素,就证明你有几个手指头,一块儿点着我了,如果你五个手指头,一块儿点屏幕,touches里边儿,应该有五个元素,这个Set里边儿,应该有五个元素,也就是说,有五个UITouch对象,

有5个UITouch对象,然后,每一个UITouch对象,都可以去获取不同的locationInView,获取不同的位置,

我们这里NSLog一下touches.count,看看里边有多少个元素,

通知

NSLog(@“@ld”,touches.count);

通知

当我一个手指头点击屏幕的时候,输出的是1,

通知

我现在按着option,点,还是1,

不是说有几个手指头点击这个屏幕,touches里边就有几个对象吗,这是这个样子的啊,默认啊,这个View呢,是不支持多点触控的,

在storyboard里边,选中这个view,右边有一个Multiple Touch,勾选上

通知

Multiple Touch:多点触控,

你要把它勾上,然后command + R,这个时候,按住option键,点屏幕,输出的就是2了吧,

通知

这就是2,看到了吧,默认,这个view,是不支持多点触控的,把这个Multiple Touch选项,开一下,就好了,

3)在我们的这个BGView里边儿,当我点击的时候,我要出来一个UIView,

然后,我们说,这个Set里边儿,有两个手指头,所以呢,我待会儿还是要去循环去做,涉及到循环的话,我个人的思路,还是先写一个,然后呢,再去加一个for循环,就可以了,

5.我们现在要做的事情,是我点击屏幕,单个儿手指头啊,它就出来一个ImageView,加上去,这是我要做的事情啊,

通知

1)// 获取触摸对象

通知

UITouch *t = touches.anyObject;

然后呢,接下来,在这个触摸对象的位置上,去添加一个ImageView,然后,让它过几秒钟消失,实际上,就可以了,

2)// 获取手指的位置

我们首先,要去获取手指的位置,才能够添加,没有位置,往哪儿去添加啊,

CGPoint p = [t locationInView:(UIView *)view];

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/3886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xcode for Mac:强大易用的集成开发环境

Xcode for Mac是一款专为苹果开发者打造的集成开发环境&#xff08;IDE&#xff09;&#xff0c;它集成了代码编辑器、编译器、调试器等一系列开发工具&#xff0c;让开发者能够在同一界面内完成应用的开发、测试和调试工作。 Xcode for Mac v15.2正式版下载 Xcode支持多种编程…

ShardingSphere 5.x 系列【25】 数据分片原理之 SQL 解析

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 1. 分片执行流程1.1 Simple Push Down1.2 SQL Federation2. SQL 解析2.1 解析…

分布式WEB应用中会话管理的变迁之路

Session一词直译为“会话”&#xff0c;意指有始有终的一系列动作&#xff0f;消息。Session是Web应用蓬勃发展的产物之一&#xff0c;在Web应用中隐含有“面向连接”和“状态保持”两个含义&#xff0c;同时也指代了Web服务器与客户端之间进行状态保持的解决方案。 在Web应用…

基于JAVA实现的推箱子小游戏

Java推箱子小游戏实现&#xff1a; 推箱子小游戏曾经在我们的童年给我们带来了很多乐趣。推箱子这款游戏现在基本上没人玩了&#xff0c;甚至在新一代人的印象中都已毫无记忆了。。。但是&#xff0c;这款游戏可以在一定程度上锻炼自己的编程能力。 窗口画面设计&#xff1a;i…

8点法估计基础矩阵

估计基础矩阵 文章目录 估计基础矩阵8点法归一化 8点法 8点法 根据两幅图像中8个对应点对之间的关系&#xff0c;采用SVD求 解最小二乘方 约束&#xff1a;det(F) 0 假设已知N对点的对应关系&#xff1a; { x i , x i ′ } i 1 N \{x_i,x^{\prime}_i\}_{i1}^N {xi​,xi′​…

Mysql索引规范及原理分析

1 Mysql存储引擎 MySQL中的数据用各种不同的技术存储在文件中&#xff0c;每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力&#xff0c;这些不同的技术以及配套的功能在MySQL中称为存储引擎。 存储引擎是MySQL将数据存储在文件系统中的存储方…

Pytorch 的神经网络 学习笔记

参照官方网址 Module — PyTorch 2.2 documentation 一. 介绍 1. torch.nn模块&#xff1a; torch.nn是PyTorch中专门用于构建神经网络的模块。它提供了构建深度学习模型所需的所有构建块&#xff0c;包括各种层类型&#xff08;如全连接层、卷积层、循环层等&#xff09;、…

SkyWalking 自定义Span并接入告警

图容易被CSDN吞掉&#xff0c;我在掘金也发了&#xff1a;https://juejin.cn/post/7361821913398837248 我就是这么膨胀 最近在做 OpenAI API 套壳&#xff0c;当我使用 okhttp-sse 这个库进行流式内容转发的时候&#xff0c;我发现有些回调方法 SkyWalking 不能抓取到。这就…

在no branch上commmit后,再切换到其他分支,找不到no branch分支的修改怎么办?

解决办法 通过git reflog我们可以查看历史提交记录&#xff0c;这里的第二条提交&#xff08;fbd3ea8&#xff09;就是我在no branch上的提交。 再通过git checkout -b backup fbd3ea8&#xff0c;恢复到上次提交的状态&#xff0c;并且为其创建个分支backup&#xff0c;此时…

跳出框架:Facebook的创新策略与社交影响

1. 引言 在数字化时代&#xff0c;社交媒体如同一面镜子&#xff0c;反映出我们社会的多元性和变革。Facebook&#xff0c;作为这面镜子中最明亮的一个&#xff0c;不仅改变了人们的日常生活&#xff0c;更深刻地塑造了社交、文化和经济的面貌。本文将深入探讨Facebook的创新策…

java中的泛型(二)——泛型接口以及泛型方法

在上一篇文章中&#xff0c;简要地对泛型的概念以及泛型类的使用进行了说明。除了在泛型类之外&#xff0c;泛型还可以在接口和方法中使用。 泛型接口 对于泛型接口&#xff0c;它的声明方式为: public interface 接口名 <泛型>{泛型定义的抽象方法}。这个声明方式和泛型…

网络安全实训Day15

写在前面 电子垃圾&#xff0c;堂堂恢复连载。本来不想分天数梳理了&#xff0c;但是最后要写实训报告&#xff0c;报告里还要有实训日记记录每日学的东西&#xff0c;干脆发这里留个档&#xff0c;到时候写报告提供一个思路。 网络空间安全实训-渗透测试 渗透测试概述 定义 一…

[Android14] SystemUI的启动

1. 什么是System UI SystemUI是Android系统级应用&#xff0c;负责反馈系统及应用状态并与用户保持大量的交互。业务主要涉及的组成部分包括状态栏(Status Bar)&#xff0c;通知栏(Notification Panel)&#xff0c;锁屏(Keyguard)&#xff0c;控制中心(Quick Setting)&#xff…

北京车展创新纷呈,移远通信网联赋能

时隔四年&#xff0c;备受瞩目的2024&#xff08;第十八届&#xff09;北京国际汽车展览会于4月25日盛大开幕。在这场汽车行业盛会上&#xff0c;各大主流车企竞相炫技&#xff0c;众多全球首发车、概念车、新能源车在这里汇聚&#xff0c;深刻揭示了汽车产业的最新成果和发展潮…

Rust中的函数指针

什么是函数指针 通过函数指针允许我们使用函数作为另一个函数的参数。函数的类型是 fn &#xff08;使用小写的 ”f” &#xff09;以免与 Fn 闭包 trait 相混淆。fn 被称为 函数指针&#xff08;function pointer&#xff09;。指定参数为函数指针的语法类似于闭包。 函数指…

前端到全栈进阶之“前端框架”

从前端入门到全栈-系列介绍 你会学到什么&#xff1f; 可能学不到什么东西&#xff0c;该系列是作者本人工作和学习积累&#xff0c;用于复习 系列介绍 现在的 Web 前端已经离不开 Node.js&#xff0c;我们广泛使用的 Babel、Webpack、工程化都是基于 Node 的&#xff0c;各…

使用Keil移植工程时修改单片机型号参数

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 当使用Keil对STM32系列单片机开发时&#xff0c;如果使用的是库函数&#xff0c;那么不同型号单片机的工程项目文件是可以直接移植的。只需要按照下面的步骤修改对应的芯片&#xff0c;就可以直接将工程移植过去&a…

RabbitMQ(高级)笔记

一、生产者可靠性 &#xff08;1&#xff09;生产者重连&#xff08;不建议使用&#xff09; logging:pattern:dateformat: MM-dd HH:mm:ss:SSSspring:rabbitmq:virtual-host: /hamllport: 5672host: 192.168.92.136username: hmallpassword: 123listener:simple:prefetch: 1c…

hive启动beeline报错

问题一在zpark启动集群报错 出现上面的问题执行以下代码 chmod 777 /opt/apps/hadoop-3.2.1/logs 问题二启动beeline报错 执行 cd /opt/apps/hadoop-3.2.1 bin/hadoop dfsadmin -safemode leave 问题三执行查询语句报错 执行 set hive.exec.mode.local.autotrue;

Spring Boot Admin

概述 Spirng Boot Admin 登录页面 Spring Boot Admin是一个用于管理Spring Boot应用的监控工具,它允许你查看和管理多个Spring Boot应用实例。用于应用信息进行界面化的展示&#xff0c;常常辅助我们开发人员快速查看服务运行状态在微服务架构中&#xff0c;Spring Boot Admin通…