Признак распознавания жестов на изображении выдает ошибку при прохождении события
У меня есть UIImageView внутри пользовательской ячейки. Я создаю пользовательский распознаватель жестов касания, когда UIImageView нажимается, чтобы загрузить другой подробный вид.
Жест касания настроен так:
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:event:)];
tapRecognizer.cancelsTouchesInView = YES;
tapRecognizer.numberOfTapsRequired = 1;
tapRecognizer.delegate = (id)self;
[cell.userImage addGestureRecognizer:tapRecognizer];
cell.userImage.userInteractionEnabled = YES;
Я использую imageTapped: event: так, чтобы я мог определить, к какой ячейке подключается пользователь, и соответственно загрузить данные. Проблема в том, что я получаю эту ошибку:
Если я избавлюсь от такого события, оно будет работать без проблем.
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)];
Я использовал этот метод ранее в другом приложении, но по какой-то причине я не могу заставить его работать должным образом с этой ошибкой. Кто-нибудь узнает, что это? Спасибо!
1 ответ
Вам необходимо прочитать документацию по UIGestureRecognizer
...
Распознаватель жестов имеет одну или несколько пар целевых действий, связанных с ним. Если существует несколько пар "цель-действие", они являются дискретными и не накапливаются. Распознавание жеста приводит к отправке сообщения действия цели для каждой из этих пар. Вызываемые методы действия должны соответствовать одной из следующих подписей:
- (void)handleGesture;
- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer;
Использование одной из этих подписей предотвратит сбой, как вы уже заметили. Затем вы можете получить доступ к представлению изображения, которое было задействовано в жесте, осмотрев распознаватель. view
собственности, и из этого вы сможете получить доступ к соответствующему UITableView
клетка.