1) Целевое действие: UIControl
(подкласс этого типа UIButton
) обеспечивает некоторую встроенную обработку касаний, добавляя цель и действие для определенных типов сенсорных событий.Пример:
[myButton addTarget:self
action:@selector(buttonTapped:)
forControlEvents:UIControlEventTouchUpInside];
2) Переопределение UIView
методов touchesBegan:withEvent:
, touchesMoved:withEvent:
, touchesEnded:withEvent:
и touchesCancelled:withEvent:
- Обеспечивает очень тонкую настройку, но может бытьтрудно использовать для сложной обработки нескольких касаний.
3) Распознаватели жестов (начиная с iOS 3.2): распознавание жестов мультитач (или одного касания), которые обычно состоят из нескольких событий касания.Встроенные средства распознавания жестов обеспечивают поддержку распознавания нажатий, сдвигов, жестов вращения, пролистывания, панорамирования и длинных нажатий.Также возможно создание пользовательских распознавателей жестов для более сложных жестов.
Все подклассы распознавателя жестов настраиваются в определенной степени, например, вы можете указать минимальное количество касаний и касаний для UITapGestureRecognizer
.
Как правило, распознаватели жестов могут предоставлять как отдельные события (например, касание), так и непрерывные события (например, поворот, который со временем меняет угол).