Это шаг за шагом руководство о том, как реализовать жест распознавателей в своем классе:
Соответствуют свой класс UIGestureRecognizerDelegate
протокола ,
Мгновенное действие распознавателя жестов. Например, чтобы создать экземпляр UITapGestureRecognizer
, мы будем делать:
Здесь действие есть селектор, который будет обрабатывать этот жест. Здесь наш селектор handleTapFrom будет выглядеть примерно так:
- (void) handleTapFrom: (UITapGestureRecognizer *)recognizer
{
//Code to handle the gesture
}
Аргумент селектора является жест распознаватель. Мы можем использовать этот жест распознаватель, чтобы получить доступ к его свойствам, например, мы можем найти состояние жеста распознавателя, как, UIGestureRecognizerStateBegan
, UIGestureRecognizerStateEnded
и т.д.
Установите желаемые свойства на реализованном жесте распознавателе. Например, для можно установить свойства numberOfTapsRequired
и numberOfTouchesRequired
.
Добавить распознаватель жестов в представление, которое вы хотите обнаружить, жесты для. В нашем примере кода (я буду делить этот код для ссылки), мы добавим жест распознавателей к ImageView с следующие строки кода:
[self.imageView addGestureRecognizer:tapGestureRecognizer];
После добавления жест распознаватель к мнению, установить делегат для распознавателя жестов, то есть класс, который будет обрабатывать все предметы распознавания жеста . В нашем примере кода, было бы как:
tapGestureRecognizer.delegate = self;
Примечание: Назначение делегата после добавления жест распознаватель к зрения. В противном случае метод действия не будет вызываться.
Может быть, это часть строки без вести ** self.UserInteractionEnabled = TRUE ** к вам код. –
Установите точку останова и проверьте, вызван ли ваш метод ** tappedOn ** или нет. – Manthan
Вы имеете в виду userInteractionEnable? Я попытался сменить мой на TRUE, но это не сработало. –