2010-09-28 5 views
12

Просматривая documentation, кажется, что новый усовершенствованный API жестов не определяет направление прокрутки за пределы основного (слева, справа, вверх, вниз).iOS Advanced Gestures: получение направления движения Swipe:

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

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

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

ответ

14

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

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

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

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

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

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

+13

Ссылка переехала сюда: http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/GestureRecognizers/GestureRecognizers.html –

+0

Снова ссылка переместилась сюда: https: // разработчик. apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/GestureRecognizer_basics/GestureRecognizer_basics.html – sleepwalkerfx