gpt4 book ai didi

ios - 在 Swift 中获取多个触摸的坐标

转载 作者:搜寻专家 更新时间:2023-10-30 21:48:57 27 4
gpt4 key购买 nike

所以我一直在弄乱试图获得屏幕上的触摸坐标。到目前为止,我可以通过这个获得一触式的坐标:

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
let touch = touches.anyObject()! as UITouch
let location = touch.locationInView(self.view)
println(location)
}

但是当用两根手指触摸时,我只能得到第一次触摸的坐标。多点触控有效(我使用这个小教程进行了测试:http://www.techotopia.com/index.php/An_Example_Swift_iOS_8_Touch,_Multitouch_and_Tap_Application)。所以我的问题是,如何获得第二次(和第三次、第四次……)触摸的坐标?

最佳答案

** 已更新至 Swift 4 和 Xcode 9(2017 年 10 月 8 日)**

首先,记得通过设置启用多点触控事件

self.view.isMultipleTouchEnabled = true

在您的 UIViewController 代码中,或在 Xcode 中使用适当的 Storyboard选项:

xcode screenshot

否则您将始终在 touchesBegan ( see documentation here ) 中获得单点触摸。

然后,在 touchesBegan 中,迭代触摸集以获取它们的坐标:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self.view)
print(location)
}
}

关于ios - 在 Swift 中获取多个触摸的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28696500/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com