2013-08-24 1 views
1

У меня есть 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: событие: так что я могу обнаружить, что клетка пользователь стучит и загружать данные соответственно. Проблема заключается в том, я получаю эту ошибку:

enter image description here

Если я избавлюсь от события, как это так, его работы совершенно без проблем.

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped:)]; 

Я использовал этот метод, прежде чем в другом приложении, но по некоторым причинам я не могу заставить его правильно работать с этой ошибкой. Кто-нибудь узнает, что это такое? Благодаря!

ответ

3

Вы должны прочитать документацию по UIGestureRecognizer ...

A gesture recognizer has one or more target-action pairs associated with it. If there are multiple target-action pairs, they are discrete, and not cumulative. Recognition of a gesture results in the dispatch of an action message to a target for each of those pairs. The action methods invoked must conform to one of the following signatures:

- (void)handleGesture; 
- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer; 

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

+0

Большое спасибо! Я посмотрел документацию, но, думаю, я не понимал, что это решение, так что это моя вина. Это сработало отлично, добавив тег в образ, равный indexpath.row, а затем используя gesture.view.tag. Еще раз спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^