gpt4 book ai didi

events - 自定义UICollectionViewCell中的 View 未接收到触摸事件

转载 作者:行者123 更新时间:2023-12-04 05:06:55 26 4
gpt4 key购买 nike

我有一个UICollectionView,它支持水平和垂直滚动。每个集合 View 单元都是UICollectionViewCell的子类,它们是从包含UIButtonUITableView甚至另一个UICollectionView的NIB加载的。它们都在TPKeyboardAvoidingScrollView中。

滚动在水平和垂直方向上都可以完美地工作,但是它并没有在单个UICollectionViewCell的元素上接收触摸事件。当我触摸任何元素时,说一个是UICollectionViewCell一部分的按钮,那么我得到的只是didSelectItemAtIndexPath上的UICollectionViewDelegate事件-我无法将任何触摸事件传递到集合 View 单元格的一个 subview 中点击发生。

最佳答案

在阅读了一些其他stackoverflow文章之后,我最终找到了导致我的问题的原因-我用来初始化UICollectionViewCell的XIB文件在根目录有一个普通的UIView元素;即使它被标记为UICollectionViewCell的子类并以其他任何方式表现良好,也阻止了事件的通过。

所以-如果您的自定义UICollectionViewCell XIB文件的根目录看起来像这样(请参见数据输入矩阵 View 旁边的图标,这是我的UICollectionViewCell子类的名称),那么您将遇到相同的问题:

我的解决方案是将适当的UICollectionViewCell类添加到XIB,然后将现有数据条目矩阵 View 下的所有 subview 移入其中,删除旧的根目录,然后重新连接导出。最终结果如下所示:

您可以看到所使用的其他图标-这就是您想要的。一旦我这样更改了XIB,事件就会通过。

在原始XIB文件(以Source形式查看)中,非工作版本将根元素引入为

<view ...>

而工作版本将该根元素更改为
 <collectionViewCell ...>

希望这可以节省别人几个小时的时间...

关于events - 自定义UICollectionViewCell中的 View 未接收到触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22589272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com