Триггер UIPanGestureRecognizer сразу после его добавления - PullRequest
2 голосов
/ 02 апреля 2019

Можно ли добавить UIPanGestureRecognizer, когда пользователь касается, и сразу же начать распознавать жест панорамирования?Я могу заставить его работать, только если поднять палец вверх, снова коснуться и начать перетаскивать.

Из другого ответа я пытался создать подкласс UIPanGestureRecognizer и переопределить событие касания:

import UIKit.UIGestureRecognizerSubclass

class InstantPanGestureRecognizer: UIPanGestureRecognizer {

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
     if (self.state == UIGestureRecognizer.State.began) { return }
            super.touchesBegan(touches, with: event)
            self.state = UIGestureRecognizer.State.began
     }

}

Это не решает мою проблему, хотя, возможно,потому что им уже добавили UIPanGestureRecognizer, и я хочу добавить мой, когда пользователь уже касается экрана, и он работает в этот момент.

Я переключаюсь между добавлением жестов смахивания и панорамирования в зависимости отгде пользователь взаимодействует на изображении.Функция require (tofail:UIGestureRecognizer) не работает для меня.

...