集合视图选择机制,它是否存在?

时间:2018-01-04 22:25:33

标签: ios swift uicollectionview uigesturerecognizer selection

好吧,我的collectionView:didSelectItemAtIndexPath:没有被召唤。

我已经阅读了很多答案,没有人帮助过我。

没有视图可以触摸并防止点击(我已经加倍检查)

所以我开始探索:

集合视图有3个GestureRecognizers:

  1. UIScrollViewDelayedTouchesBeganGestureRecognizer
  2. UIScrollViewPanGestureRecognizer
  3. _UIDragAutoScrollGestureRecognizer
  4. 如您所见,它们都不是UITapGestureRecognizer

    根据docs

      

    当用户成功选择集合视图中的项目时,集合视图会调用此方法。以编程方式设置选择时,它不会调用此方法。

    好吧,我应该自己添加TapGesture识别器吗?并调用委托方法?我不这么认为。 Apple做了一些事情,但那件事没有用!

1 个答案:

答案 0 :(得分:1)

嗯,我弄明白了,我确信它会帮助别人。感谢所有试图提供帮助的人 - 你帮助了我,因为我认为它不会起作用,你给了我继续尝试的理由=]

我有以下层次结构:

View
|
+----CollectionView
     |
     +----CollectionViewCell
          |
          +----TextView

TextView填满整个单元格。

问题在于TextView 阻止每次点击,而不是将其转发到单元格!

但它 DOES 转发其他接触(如Pan)

  

解决方案是:

cell.textView.isUserInteractionEnabled = false