UISwipeGestureRecognizer не добавляется для просмотра - PullRequest
1 голос
/ 29 апреля 2020

Я пытаюсь добавить распознаватель жестов смахивания к своему виду. Вот фрагмент кода из моего viewDidLoad() метода файла контроллера основного вида:

self.view.addGestureRecognizer(UISwipeGestureRecognizer(target: self, action: #selector(self.swipeHandler(_:))))
self.view.isUserInteractionEnabled = true

А вот метод обработчика, который я написал ниже функции viewDidLoad():

@IBAction func swipeHandler(_ gestureRecognizer : UISwipeGestureRecognizer) {
        print("called")
        if gestureRecognizer.state == .ended {
            // Perform action.
            print("ended")
        }
    }

Когда я провожу пальцем, независимо от направления, я не вижу ничего напечатанного на консоли.

Я думаю, что проблема связана с addGestureRecognizerMethod(), потому что, когда я изменил его на распознаватель касаний (точно такой же, строка, просто UITapGestureRecognizer вместо UISwipeGestureRecognizer), я получаю "звонил" и "заканчивал" печататься в консоли.

Любые советы?

1 Ответ

0 голосов
/ 29 апреля 2020

Когда у меня это случалось в прошлом, это происходило из-за конфликтного распознавателя жестов. Я должен был добавить это к моему viewController:

extension YourViewController: UIGestureRecognizerDelegate {

    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...