我想向 UICollectionView 添加一个 subview ,以便制作一个与 collectionview 一起滚动的左侧面板。
使用
[self.collectionView addSubview:myView]
所有触摸都被禁用,我无法再 ScrollView 。我读过像这样将 subview 添加到 collectionView 是不好的做法。这是真的吗?为什么它会禁用触摸到达collectionView事件时
userInteractionEnabled = NO
我正在尝试这样做:imgur link通过抓取每个部分中第一个单元格的框架位置,并向 myView 添加一个具有相同 y 值的点。
谢谢你的帮助!
最佳答案
使用 addSubview:
添加 subview 方法到 UICollectionView
是非常糟糕的做法。它会在 CollectionView 的正常行为中导致许多不同的问题。它可以阻挡它下面的 View ,捕获触摸事件,阻止它们到达 CollectionView 中的实际 ScrollView 等。使用此方法添加的 subview 也不会像 CollectionView 中的其他元素那样滚动。
做你想做的事情的正确方法是实现一个新类型的 UICollectionViewCell
对于点,并计算它们在 prepareForLayout
中的位置和 layoutAttributesForElementsInRect:
方法。基本上,每一行都会有一个或两个单元格。哪些将有两行将由您在我提到的方法中确定。
事实上,Apple 的文档有一个完美的例子,它比你尝试实现的还要复杂。您应该从 this link 查看它.
关于ios - 将 subview 添加到 UICollectionView - 禁用滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508427/