【问题标题】:UIScrollView within UICollectionViewCell Not WorkingUICollectionViewCell 中的 UIScrollView 不起作用
【发布时间】:2013-01-23 02:59:00
【问题描述】:

我有一个 UICollectionView 和一个自定义 UICollectionViewCellUICollectionView 水平滚动,每个单元格占据所有可见屏幕。

UICollectionViewCell 有一个 UIView 子视图,而后者又有一个 UIScrollView 子视图。

UIScrollView 旨在垂直滚动,但它根本不滚动。我尝试设置滚动视图的contentSize,但没有成功。

我怀疑UIScrollView 没有收到任何触摸事件,而不是大小问题。

有什么建议吗?

编辑>>

我现在确定这是一个事件问题,而不是 UIScrollView 特有的任何问题。

我现在在UICollectionViewCell 中的UIView 中覆盖了pointInside: 方法,并且可以看到现在每次我点击它时它都会返回false。在这种情况下,您会认为点击事件会传播到下一个子视图,但 UIView 仍然没有收到事件。我尝试将UIGestureRecognizer 添加到UIView,但它从未注册过点击。

这里有什么东西可以拦截我不知道的事件吗?

【问题讨论】:

    标签: ios objective-c uiscrollview uicollectionview


    【解决方案1】:
    1. 将可滚动内容嵌入到单元格内的 ScrollView 中。
    2. 将“UICollectionViewDelegateFlowLayout”添加到 UICollectionViewCell 即:

      类 SomeCollectionCell: UICollectionViewCell, UICollectionViewDelegateFlowLayout {
      }

    现在在单元格内滚动应该可以工作了。

    【讨论】:

      【解决方案2】:

      我不确定这是否是您的问题,但这是我的问题 - 我将其放在这里以防其他人出于同样的原因遇到此问题。我想将UIScrollView 放在UICollectionReusableView 中,但偶然我创建了我的自定义类;

      class CustomCellHeader: UICollectionViewCell {
      
      
      }
      

      代替;

      class CustomCellHeader: UICollectionReusableView {
      
      
      }
      

      一旦我改变了它,我标题单元格中的UIScrollView 就会出现!

      【讨论】:

        【解决方案3】:

        我一直在尝试用滚动视图解决类似的问题,您对事件的编辑让我想起了这个问题(它再次解决了我的问题)How can I use a UIButton in a UICollection supplementary view?

        您可能需要使用 UICollectionReusableView,而不是 UICollectionViewCell。更改课程对我有用,因为我在标题中使用了一个按钮(最近是一个滚动视图)。

        但是我没有尝试过细胞本身。对于从 UICollectionViewCell 捕获事件,以下可能会有所帮助? Getting button action : UICollectionView Cell

        【讨论】:

          【解决方案4】:

          尝试为UIView禁用userInteractionEnabled并为您的UIScrollView启用它

          【讨论】:

          • 谢谢,但这并不能解决问题。此外,我偶尔会在 CollectionView 之外加载 UIView/UIScrollView。当我在 UIView 上禁用 userInteractionEnabled 并在 UIScrollView 上启用它时,我也没有得到任何滚动。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-08-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-09
          相关资源
          最近更新 更多