当所需的触摸次数超过 swift 中的一次时,如何获取 UILongPressGestureRecognizer 的触摸位置?

How do you get the location of touches for a UILongPressGestureRecognizer when the number of required touches is more than one in swift?

我想从 UILongPressGuestureRecognizer 获取多次触摸的位置,其中所需的触摸次数超过一次。我知道当使用一根手指时,我可以执行以下操作来获取位置。

let twoFingerLongPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(twoFingerLongPressChordTouchView(gesture:)))
twoFingerLongPressGesture.numberOfTouchesRequired = 2
twoFingerLongPressGesture.minimumPressDuration = 0.02
self.addGestureRecognizer(twoFingerLongPressGesture)
@objc func twoFingerLongPressAction(gesture: UILongPressGestureRecognizer) {
    let location = gesture.location(in: self)
}

我也知道我可以在触摸开始回调中遍历触摸,但是我正在尝试使用 UILongPressGestureRecognizer 中的特定行为。在此先感谢您的帮助或建议!!!

您可以使用 location(ofTouch:in:) in conjunction with numberOfTouches:

let touchPoints = (0..<twoFingerLongPressGesture.numberOfTouches).map {
    twoFingerLongPressGesture.location(ofTouch: [=10=], in: self)
}

这会为您提供 CGPoint 数组中的所有触摸点。