Скорость и перевод в UIPanGestureRecognizer начинают состояние - PullRequest
0 голосов
/ 20 апреля 2019

Я обрабатываю события с помощью UIPanGestureRecognizer, когда начинается состояние отправителя. В этом состоянии я измеряю скорость перевода. Я всегда получаю ненулевую скорость. Знак перевода обычно такой же, как скорость (а перевод - небольшое ненулевое число), но иногда транслатон равен 0. Почему?

Я получил его на IPhone 7 с iOS 11.

1 Ответ

0 голосов
/ 20 апреля 2019

Это потому, что распознаватель жестов панорамирования начинает распознавать жест, когда обнаруживает движение. Первое прикосновение к экрану - это еще не панорамирование, это просто прикосновение. Палец должен двигаться хотя бы чуть-чуть, чтобы считаться панорамированием. И если он немного сдвинулся в одном направлении, скорость также будет в этом направлении

документы говорят:

Жест панорамирования является непрерывным. Он начинается (UIGestureRecognizer.State.began), когда минимально допустимое количество пальцев (imumNumberOfTouches) достаточно переместилось, чтобы считаться панорамированием .

(выделено мое.)

Перевод может быть 0, если вы двигаете пальцем в одном направлении, а затем возвращаетесь на исходное место, и полного перемещения было достаточно, чтобы UIPanGestureRecognizer считался панорамированием.

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