Как получить местоположение касаний для UILongPressGestureRecognizer, когда количество требуемых касаний больше одного в Swift? - PullRequest
0 голосов
/ 01 августа 2020

Я хотел бы получить местоположение нескольких касаний из 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)
}

Я также знаю, что могу перебирать касания в обратном вызове касания, но я пытаюсь сделать использование особого поведения c в UILongPressGestureRecognizer. Заранее спасибо за любую помощь или совет !!!

1 Ответ

1 голос
/ 01 августа 2020

Вы можете использовать location(ofTouch:in:) в сочетании с numberOfTouches:

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

Это дает вам все затронутые точки в массиве CGPoint с.

...