我正在使用Swift 4将Web应用程序移植到iOS,我需要显示一个列表,其中包含多个嵌套的“节”,每个节都有自己的标题。
我的本能是使用UICollectionFlowLayout,但是很快发现它仅限于深度1。进一步深入研究,弄清楚我只需要创建一个自定义布局,就会发现IOCollectionViewDataSource协议实际上假设深度为一个。
我怀疑我可以找到一种方法来展平数据并重现嵌套节的错觉,但我困惑于找不到一种UICollectionView构建似乎很普通的明显方法接口元素。也许我想念什么?
在UIKit中是否有实现此目的的常用方法?
答案 0 :(得分:1)
如果您希望UI像您在问题中的共享方式一样,为什么不将嵌套的UICollectionView与自定义布局一起使用?
想法是
UICollectionView (top)-> DataSource = [Headers: [dataSourceBelowTop]]
UICollectionView (inner) -> DataSource = dataSourceBelowTop
以上述情况为例:
DataSourceTop is = ["Mission Gorge": ["Middle Earth": [SomeCustomModel]]]
第一个任务是构建顶层UICollectionView,然后每个collectionView将具有另一个集合视图。现在进行滚动,您将需要使用flowLayout进行操作,这可以在另一个线程中进行解释。