3

我已经看到了集合视图嵌套在表格视图中的解决方案,但是对于我的应用程序,我需要有 2 个集合视图,因为这样可以更轻松地执行其他一些操作。

因此,让我们调用仅垂直滚动的根集合视图VerticalCollectionView和仅水平滚动的嵌套集合视图Horizo ​​ntalCollectionView。我使用情节提要创建了它们。下面你会看到橙色是垂直,绿色是水平,里面有一个标签。

在此处输入图像描述

在此处输入图像描述

而且我已将两个集合的委托和数据源设置为同一个 CollectionViewController。在此处输入图像描述

我通过检查委托方法引用的 tableview 来区分 2 个不同的单元格 在此处输入图像描述

我的问题是 Horizo​​ntalCollectionView 没有被实例化。我已经为 VerticalCollectionView、背景颜色、项目数等工作了一切。在 VerticalCollectionViewCell 中,我有一个引用 Horizo​​ntalCollectionView 的 IBOutlet

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

4

我在最近的应用程序中经常使用嵌套的 collectionViews。起初它对我不起作用,但当我学会它时,它变得非常简单。

而不是将 Horizo​​ntalCollectionView 委托和 dataSource 设置为相同的 CollectionViewController 制作 UICollectionViewCell 并在awakeFromNib()单元格的函数中设置委托和 dataSource 并在该单元格中编写 Horizo​​ntalCollectionView 函数。它就像一个魅力;)

如果您需要更详细的答案,请告诉我。

于 2017-10-28T08:06:48.857 回答
1

万一有人在 WWDC 19 以来一直在看这里,Apple 已经为 UICollectionViews 引入了 CompositionalLayout,这使得这些任务变得更加容易。

应该在这里阅读:

https://developer.apple.com/videos/play/wwdc2019/215/

于 2019-10-13T11:39:03.783 回答