我见过集合视图嵌套在表视图中的解决方案,但对于我的应用程序,我需要有2个集合视图,因为它可以更容易地做其他事情。
因此,我们调用只能垂直滚动的根集合视图 VerticalCollectionView ,以及只能水平滚动的嵌套集合视图 HorizontalCollectionView 。我使用Storyboard创建了它们。在下面你会看到橙色是垂直的,绿色水平,里面有一个标签。
我已经设置了代表&两个集合的数据源到同一个CollectionViewController。
我通过检查委托方法引用哪个tableview来区分2个不同的单元格
我的问题是HorizontalCollectionView没有实例化。我有一切为VerticalCollectionView,背景颜色,项目数等工作。在VerticalCollectionViewCell中,我有一个引用HorizontalCollectionView的IBOutlet
答案 0 :(得分:2)
我在我最近的应用程序中使用了嵌套的collectionViews。起初它对我不起作用,但是当我学会了它时它变得非常简单。
而不是将HorizontalCollectionView委托和dataSource设置为相同的CollectionViewController,而是创建一个UICollectionViewCell,并在单元格的awakeFromNib()
函数中设置委托和dataSource,并在该单元格中写入HorizontalCollectionView函数。它就像一个魅力;)
如果您需要更详细的答案,请告诉我。
答案 1 :(得分:0)
万一自WWDC 19以来有人在这里看,苹果已经为UICollectionViews引入了CompositionalLayout,这使这些任务更加容易。
应该在这里阅读