UICollectionViewCell 上的不需要的 UIView(TapGesture 不起作用)

Posted

技术标签:

【中文标题】UICollectionViewCell 上的不需要的 UIView(TapGesture 不起作用)【英文标题】:Unwanted UIView over UICollectionViewCell (TapGesture Doesn't work ) 【发布时间】:2020-04-10 19:51:43 【问题描述】:

最近,我在 Xcode 11.4 中看到了一件奇怪的事情。 当我使用其单元格创建 UICollectionView 时,添加 TapGesture 不起作用。通过在运行时对其视图进行调试,我注意到一个视图覆盖了所有单元格。它似乎是ContainerView。 此视图可防止用户单击或点击项目。 任何帮助表示赞赏

【问题讨论】:

【参考方案1】:

您是否将子视图和点击手势添加到单元格的 contentView?

在 UICollectionViewCell (https://developer.apple.com/documentation/uikit/uicollectionviewcell) 的文档中,它说:

要配置单元格的外观,请添加所需的视图 将数据项的内容作为子视图呈现给 内容视图属性。不要直接将子视图添加到单元格本身。

这同样适用于 UITableViewCell。

【讨论】:

以上是关于UICollectionViewCell 上的不需要的 UIView(TapGesture 不起作用)的主要内容,如果未能解决你的问题,请参考以下文章

为啥点击 UICollectionViewCell 上的文本会消失?

UICollectionViewCell 上的按钮

长按后如何禁用 UICollectionViewCell 上的 UILongPressGestureRecognizer?

UICollectionViewCell 上的自定义命中测试

想要阻止位于UICollectionViewCell上的UIButton的UIEvent

点击时更改 UICollectionViewCell 上的 ImageView 图像