Размах пойман прокруткой - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть контроллер просмотра страниц, где страницы выровнены по горизонтали - так что вы будете перемещаться в сторону, чтобы переключаться между ними. Каждая страница содержит табличное представление, которое можно прокручивать по вертикальной оси (вверх-вниз).

enter image description here

Вы можете перемещать контроллер просмотра страниц по всему экрану - и просмотр таблицы только в пределах области просмотра таблицы.

Если вы проведете пальцем влево на виде таблицы - страница переключится, как и ожидалось. Если вы попытаетесь провести пальцем влево, но он распознается как вверх / вниз - тогда представление таблицы начнет анимацию (анимация по умолчанию) и остановится в течение секунды или около того. Проблема в том, что вы не можете провести пальцем влево / вправо, чтобы переключить страницу, когда анимация активна. Если вы это сделаете - он всегда будет распознавать пролистывание вверх / вниз, и вам придется подождать, пока анимация не закончится, прежде чем снова пролистывать.

Какие варианты мне нужны, чтобы решить эту проблему?

1 Ответ

3 голосов
/ 12 февраля 2020

Вы можете решить эту проблему, реализовав метод делегата распознавателя жестов

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}

Для реализации вышеуказанного метода ваш класс viewcontroller должен реализовать UIGestureRecognizerDelegate.

Вы можете просто соответствовать протоколу, как этот

class yourViewController: UIViewController, UIGestureRecognizerDelegate

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

someGestureRecognizer.delegate = self
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...