小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]今天是元旦节,我给大家带来的是一篇比较简单的内容:当用户在屏幕上进行点击操作时,如何获得点击位置的坐标值。

欢迎大家来到IT世界,在知识的湖畔探索吧!

哟!阳光明媚的周一,又是元旦节,新的一天新的一年,各位萌新们好呀!今天已经是2018年了呢,我已经17岁又160个月了T.T

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

程序媛永远青春不老

今天是元旦节,我给大家带来的是一篇比较简单的内容:当用户在屏幕上进行点击操作时,如何获得点击位置的坐标值。

好啦,我们赶快开始吧。

依照惯例,先来看一下最终效果:

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

我在屏幕上放置了两个文本框,分别用来动态显示点击位置的x轴坐标值和y轴坐标值。当点击屏幕的时候,就会变成下面这样:

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

实现代码特别的简单,我们这就来看一下:

首先,我们需要重载下面这个方法:

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

注意这个方法的两个参数,它们的意义其实非常好理解。

第一个参数“touches”是一个UITouch对象的集合,这是因为iOS是支持多点触控的,很容易理解吧。

第二个参数是一个“UIEvent”对象,即触发事件。触发事件可以有很多不同的种类,比如常规的点击、长按,而点击本身也是由按下和抬起两个动作组成的。

程序媛们都是好奇心很重的嘛,比如说我们就很好奇你们这些男生平时在一起的时候都会发生哪些事情啦~嗯嗯,所以这种好奇心促使我查看了一下UIEvent的定义。

在UIEventType枚举中,有以下的定义:

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

touches指多点触控的点击事件,moution当然是移动拖动事件了,presses也好理解,是按压事件。至于那个remoteControl是什么鬼?远程控制???这个时候我们发现了下面的东东:

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

哇~~这就很好理解了嘛,扫了一眼,remoteControl包含播放啦、暂停啦。嗯嗯,简单解释来说,其实所谓的“远程控制”主要是用来给苹果的外设进行开发使用的,比如说我们可以通过操作耳机线上面的辅助控制器来播放音乐,这就是所谓的“远程控制”。

好了好了,扯远了,这些不在我们今天的讨论范围。我们赶紧回来吧。刚才提到我们需要重载touchesBegan方法,在这个方法内部,我们可以通过下面这句代码来获得多点触控当中的某一个点:

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

由于苹果支持多点触控,在大部分情况下,用户可能仅仅只是使用一个手指进行单点触控,所以swift提供了一个变量“first”来直接获得这个触控点——它即代表单点触控时的手指落点,也代表多点触控时第一个落在屏幕上的点。

得到了这个点击位置后,我们可以通过下面一句代码来进一步获得位置数据:

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

注意这个方法有一个UIView类型的入参。当界面上存在多个UIView的时候,这个入参用来告诉程序我们需要捕获的是位于哪一个UIView中的事件。

得到了位置对象后,就可以很方便地获取坐标位置了:

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

怎么样,虽然我说了很多有的没得,但是其实今天的例子特别的简单,有木有?

各位萌新们请支持一下啦~~

小白swift语言开发iOS系列:获得点击位置的坐标值[亲测有效]

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/17538.html

(0)

相关推荐

发表回复

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

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信