【发布时间】:2016-08-12 17:34:01
【问题描述】:
我有一个 UICollectionView。它的单元格内部有一个 UICollectionView。
我可以检测到何时点击了包含 collectionView 的单元格(通过 didSelectItemAtIndexPath)。但是,我无法检测到单元格内的 collectionView 单元格(如单个太阳图标所示)何时被点击。
所有内容都启用了用户交互。我已经尝试覆盖 collectionView as described here 的 hitTest。
更新:我在一个简单的测试项目中再次尝试了这个,它运行良好。但是在我当前的项目中,由于某种原因,最里面的嵌套 collectionView(带有太阳图标)没有出现在视图调试器中。
请注意,我将 collectionView 背景设为蓝色,将其单元格设为粉红色。尽管它们出现在正在运行的应用程序中,但它们在调试视图时不会出现?
【问题讨论】:
-
您是否将包含 UICollectionView 的 UICollectionViewCell 的委托设置为 self?这意味着您应该将 UICollectionViewCell 子类化并在该子类中设置 UICollectionView 并将该 UICollectionView 的委托设置为 UICollectionViewCell。此外,您不需要搞乱命中测试。很少有 UIResonder 链需要大规模干预的情况,我怀疑你需要比正确设置委托更进一步。
-
@Loxx 是的,内部collectionView的委托设置为它所在的单元格
-
嗯,让我拉起旧项目,看看我是如何解决这个问题的。我很快就会在这里发帖
-
@Loxx 谢谢,这将非常有帮助:)
-
为 Storyboard 中的 CollectionView 禁用“取消触摸视图”。
标签: ios swift uicollectionview uitapgesturerecognizer