我们正在开发一个计算多个手指触摸之间距离的应用程序。所以方法' touchesBegan'获得这些接触点的协调。
问题在于,当我启用多点触控属性时,该方法必须同时接收触摸,否则如果两个手指之间发生某些延迟意味着有可能丢失一个或多个,则该方法无法工作触动。我们需要一种在计算距离之前检测所有点的方法。
这是代码的一部分
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
var loc1X:CGFloat?
var loc1Y:CGFloat?
var loc2X:CGFloat?
var loc2Y:CGFloat?
var locations = [CGPoint]()
if touches.count == 2{
// errorLabel.text = " "
for touch in touches {
locations.append(touch.location(in: self.view))
}
loc1X=locations[0].x
loc1Y=locations[0].y
loc2X=locations[1].x
loc2Y=locations[1].y
distance1 = sqrt(pow((loc2X! - loc1X!), 2) + pow((loc2Y! - loc1Y!), 2))
print(distance1)
由于