好吧,我的collectionView:didSelectItemAtIndexPath:
没有被召唤。
我已经阅读了很多答案,没有人帮助过我。
没有视图可以触摸并防止点击(我已经加倍检查)
所以我开始探索:
集合视图有3个GestureRecognizers:
UIScrollViewDelayedTouchesBeganGestureRecognizer
UIScrollViewPanGestureRecognizer
_UIDragAutoScrollGestureRecognizer
如您所见,它们都不是UITapGestureRecognizer
根据docs:
当用户成功选择集合视图中的项目时,集合视图会调用此方法。以编程方式设置选择时,它不会调用此方法。
好吧,我应该自己添加TapGesture识别器吗?并调用委托方法?我不这么认为。 Apple做了一些事情,但那件事没有用!
答案 0 :(得分:1)
嗯,我弄明白了,我确信它会帮助别人。感谢所有试图提供帮助的人 - 你帮助了我,因为我认为它不会起作用,你给了我继续尝试的理由=]
我有以下层次结构:
View
|
+----CollectionView
|
+----CollectionViewCell
|
+----TextView
TextView
填满整个单元格。
问题在于TextView
阻止每次点击,而不是将其转发到单元格!
但它 DOES 转发其他接触(如Pan)
解决方案是:
cell.textView.isUserInteractionEnabled = false