gpt4 book ai didi

uiscrollview - 带有 UIScrollView 的 UICollectionViewCell 取消了 didSelectItemAtIndexPath

转载 作者:行者123 更新时间:2023-12-03 13:46:15 33 4
gpt4 key购买 nike

我有一个 UICollectionView水平滚动显示一个 UICollectionViewCell一次。每个UICollectionViewCell有一个垂直滚动 UIScrollView作为滚动单元格内容的 subview 。它只是 UICollectionViewCell 内部的 90 % 左右UIScrollView 涵盖的内容- 即电池的外框不被此覆盖。

原来UICollectionViewCell的部分UIScrollView 涵盖的内容取消 UICollectionView代表didSelectItemAtIndexPath .因此,当在 UIScrollView 中发生简单的点击时此方法不会被调用,而如果点击发生在单元格的外部,即在 UIScrollView 之外, 这个方法被调用。

关于如何实现可以调用 didSelectItemAtIndexPath 的设置的任何建议即使点击发生在 UIScrollView 中的方法?

最佳答案

我发现最有效的方法是窃取panGestureRecognizer , 由 UIScrollView 曝光并禁用 userInteractionscrollView .这样,您可以获得 ScrollView 的行为,但保持 Collection View 上的交互。在您的 UICollectionViewCell 上子类:

self.scrollView.userInteractionEnabled = NO;
[self.contentView addGestureRecognizer:self.scrollView.panGestureRecognizer];

这是 Apple 在 WWDC 2014 session 235(高级 ScrollView 和触摸处理技术)中推荐和演示的方法

关于uiscrollview - 带有 UIScrollView 的 UICollectionViewCell 取消了 didSelectItemAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298650/

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