0

У меня есть UITableView в моем классе с пользовательским UITableViewCell с UIImageView внутри.UIGestureRecognizer ручка касается UITableView

мне нужно обнаружить прикосновение к этой UIImageView обрабатывать пользовательский метод (handleSingleTouch:) и мне нужно вызвать -didSelectRowAtIndexPath при выборе ячейки.

Так я добавил UIGestureRecognizer к моему TableView таким образом:

UIGestureRecognizer *GEST=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTouch:)]; 

[self.myTable addGestureRecognizer:GEST]; 
GEST.delegate=self; 
[GEST release]; 

[GEST setCancelsTouchesInView:NO]; 
[GEST setDelaysTouchesEnded:NO]; 

Существует конфликт: каждый раз, когда UIImageView будет тронул tableviewGestureRecognizer запустить метод, но и didSelectRowAtIndexPath называется.

Кто-то знает способ позвонить по телефону gestureRecognizerMethod без звонка didSelectRowAtIndexPath?

ответ

0

Попробуйте добавить распознаватель жестов к изображению, а не к таблице. См. Этот ответ https://stackoverflow.com/a/7760402

+0

это может быть хорошим и пратическим решением. Но как насчет производительности и экономии памяти, если у вас есть N элементов для загрузки?! –

+0

@Denis - Извините за * очень * поздний ответ. Производительность и память не должны быть проблемой, поскольку представления перерабатываются, и поэтому эта настройка происходит только в первый раз (если я не ошибаюсь). –

0

Я не могу придумать, как это сделать, поскольку вам нужно быть отзывчивым во всей ячейке. Но что вы можете сделать, это tagUIImageView, а затем проверить в начале - didSelectRowAtIndexPath, для этого UIImageView и return.

+0

tnx для бесплатного программного обеспечения! tnx для вас я нашел решение grose, но оно работает! Каждый раз, когда я обнаруживаю прикосновение к UIImageView с определенным тегом, я устанавливаю BOOL isImagePressed на YES, и я устанавливаю условие if (! IsImagePressed) на didSelectRowAtIndexPath для управления конкретным методом. –

+0

someOne еще есть более чистое решение? –

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