当所需的触摸次数超过 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
数组中的所有触摸点。
我想从 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
数组中的所有触摸点。