Распознавание щипковых жестов


Технологии Iphone, распознавание щипковых жестов

Давайте подумаем, что все это означает. Когда оба распознавателя жестов находятся на своих местах, однократное постукивание по экрану в текущем представлении вызовет мгновенную реакцию у распознавателя singleTap, который посчитает, что этот жест имеет отношение к нему. В то же время распознаватель doubleTap посчитает, что данный жест может иметь отношение к нему. Поскольку распознаватель singleTap настроен на ожидание "отказа" распознавателя doubleTap, он не сразу передает свой метод-действие, а ожидает, что произойдет с распознавателем doubleTap.


Если после первого постукивания сразу же произойдет второе, то распознаватель doubleTap посчитает, что этот жест точно имеет к нему отношение, и тотчас инициирует свое действие. В этот момент распознавателю singleTap станет ясно, что именно произошло, и он откажется от обработки данного жеста. Если через определенный промежуток времени, который определен в системе как максимальный промежуток между двумя последовательными постукиваниями при двойном постукивании, распознаватель doubleTap откажется от обработки данного жеста, распознаватель singleTap обнаружит этот отказ и, наконец, инициирует свое действие по обработке данного события.


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


Обратите внимание на то, что нам не нужно явно настраивать распознаватель жестов на зависимость от отказа каждого из распознавателей жестов с большим количеством постукиваний по экрану. Такая множественная зависимость возникает естественным путем в результате цепочки отказов, установленных в нашем коде. Так, если распознавателю singleTap требуется отказ распознавателя doubleTap, то распознавателю doubleTap — отказ распознавателя tripleTap, а тому — отказ распознавателя quadrupleTap. Таким образом, распознавателю singleTap требуется отказ всех остальных распознавателей.


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


Еще одним распространенным жестом является щипок двумя пальцами по экрану (pinch). Этот жест применяется в целом ряде стандартных приложений, включая Mobile Safari, Mail и Photos.


  • Дата: 19-01-2015, 17:37

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Распознавание щипковых жестов

Технологии, секреты и фишки Apple: Iphone, iPad, iPod