我想在UICollectionView中添加一个子视图,以便创建一个使用collectionview滚动的左侧面板。
使用
[self.collectionView addSubview:myView]
所有触摸都被禁用,我无法再滚动视图。我已经读过,将一个子视图添加到这样的集合视图是不好的做法..这是真的吗?为什么在
时禁止触摸到达collectionView事件userInteractionEnabled = NO
我试图这样做:imgur link抓住每个部分中第一个单元格的框架位置,然后在myView中添加一个带有相同y值的点。
感谢您的帮助!
答案 0 :(得分:0)
我可以知道滚动视图的目的吗?因为,如果您正在寻找仅显示标签或图像等的子视图,您可以使用自定义集合视图单元格,如果我没有错误...希望它有帮助:) :)
答案 1 :(得分:0)
使用addSubview:
方法将子视图添加到UICollectionView
是非常糟糕的做法。它可能会导致CollectionView的正常行为中出现许多不同的问题。它可以阻挡下面的视图,捕获触摸事件,阻止它们到达CollectionView内部的实际scrollView等。使用此方法添加的子视图也不会像CollectionView中的其他元素那样滚动。
执行所需操作的正确方法是为点实现新类型UICollectionViewCell
,并使用prepareForLayout
和layoutAttributesForElementsInRect:
方法计算其位置。基本上你每行都会有一个或两个单元格。哪些将有两行将由您在我提到的方法中确定。
事实上,Apple的文档有一个完美的例子,它比你想要的更复杂。你应该从this link查看。