Подтвердить что ты не робот

Расширенные жесты iOS: создание вектора направления прокрутки

Просматривая documentation, кажется, что новый API расширенных жестов не определяет направление прокрутки за пределы основного { слева, справа, вверх, вниз}.

Мне нужна начальная точка салфетки и направления.

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

И если это мой единственный вариант, может ли кто-нибудь указать мне на какой-то открытый исходный код, который делает это?

4b9b3361

Ответ 1

Получил! Документация здесь, внизу << → Создание пользовательских распознавателей жестов.

В основном шесть жестов, которые Apple предоставляет для всех, происходят из UIGestureRecognizer, и вы можете сделать свой собственный распознаватель жеста тем же способом.

то внутри вашего представления init вы подключите свой распознаватель. и только действие его подключения автоматически перенаправляет входящие события касания.

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

Но иногда вы хотите, чтобы исходные события касания не доходили до представления, и вы можете играть в своем распознавателе, чтобы сделать это. поэтому он немного вводит в заблуждение, рассматривая его как "наблюдателя".

Есть еще один сценарий, где один жест должен есть другой. Например, вы не можете просто отправить один клик, если ваш вид также загрунтован для получения двойных кликов. Вы должны ждать, пока распознаватель двойного щелчка не сообщит об ошибке. и если это будет успешным, вам нужно пропустить один клик - очевидно, что вы не хотите отправлять обратно!