UIScrollView, содержащийся внутри UICollectionViewCell, не передает событие касания в ячейку CollectionView

У меня есть UIScrollView внутри UICollectionViewCell, поэтому я могу масштабировать изображение в этом ScrollView. Когда я щелкаю изображение, я хотел бы, чтобы CollectionViewCell получал событие и передал его делегату UICollectionView.

Я попытался добавить следующий UIGestureRecognizerDelegate в контейнер UIScrollView:

-(BOOL)gestureRecognizer:ShouldReceiveTouch:

Согласно ответу, который я прочитал, событие касания должно быть передано родительскому представлению - в данном случае CollectionViewCell, но этого не происходит.

Что я должен делать?

Изменить Обратите внимание, что я не пытаюсь увеличить масштаб внутри ячейки, а скорее получаю события касания ячейки.




Ответы (1)


Это хороший вопрос, так как у меня была такая же проблема. Единственный способ, которым я мог заставить uicollectionviewcell реагировать на прикосновения (перехваченные из uiscrollview), состоял в том, чтобы установить

userinteractionenabled = NO

на прокрутке.

person Avner Barr    schedule 22.07.2013
comment
Если вы отключите взаимодействие с прокруткой, как вы собираетесь увеличивать изображение внутри? - person Puneet Sharma; 22.07.2013
comment
@Puneet, вы правы, зум не сработает. В моем случае это не имело значения, так как я хотел, чтобы collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath вызывался. - person Gad; 24.07.2013