8

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

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

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

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

有什么建议么?

编辑>>

我现在确定这是一个事件问题,而不是特定于UIScrollView.

我现在已经覆盖了in中的pointInside:方法,并且可以看到现在每次点击它时它都会返回 false。在这种情况下,您会认为点击事件会传播到下一个 subview ,但仍然没有收到事件。我试过添加一个,但它从来没有注册一个水龙头。UIViewUICollectionViewCellUIViewUIGestureRecognizerUIView

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

4

4 回答 4

1

我一直在尝试用滚动视图解决类似的问题,您对事件的编辑让我想起了这个问题(这再次解决了我的问题)如何在 UICollection 补充视图中使用 UIButton?

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

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

于 2013-04-15T22:25:11.817 回答
0

尝试禁用并userInteractionEnabledUIView您启用它UIScrollView

于 2013-02-07T14:58:03.620 回答
0
  1. 将可滚动内容嵌入到单元格内的 ScrollView 中。
  2. 将“UICollectionViewDelegateFlowLayout”添加到 UICollectionViewCell 即:

    类 SomeCollectionCell: UICollectionViewCell, UICollectionViewDelegateFlowLayout { 
    }

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

于 2019-08-10T08:29:49.897 回答
0

我不确定这是否是你的问题,但这是我的问题——我把它放在这里以防其他人出于同样的原因遇到这个问题。我想在UIScrollView里面放一个,UICollectionReusableView但偶然我创建了我的自定义类;

class CustomCellHeader: UICollectionViewCell {


}

代替;

class CustomCellHeader: UICollectionReusableView {


}

一旦我改变了这一点,UIScrollView我的标题单元格内就变得生动起来!

于 2017-03-30T15:29:54.030 回答