iOS中的多点触控

时间:2018-02-06 12:57:38

标签: ios swift ipad

我们正在开发一个计算多个手指触摸之间距离的应用程序。所以方法' 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)

由于

0 个答案:

没有答案