如何实现具有多个部分和子部分的 uicollectionview?

how to implement a uicollectionview that has multiple sections and subsections?

uicollectionview 有 n 个部分(比如 1、2、3),其中有 m 个子部分(比如 1.1、1.2 等),这些子部分进一步分支为内部子部分(1.1.1、1.1.2 等),最终有 X 没有.其中的行数。

为什么不只使用三个集合视图和三个屏幕?

点击 Section 1 创建第二个屏幕,其中包含包含 Subsection 1Subsection 2 部分的集合视图。

然后点击 Subsection 1 创建带有集合视图的第三个屏幕,其中包含部分 Row 1Row 1Row 1Row 1.

我已经使用 UICollectionViewCompositionalLayout 实现了这个。用过 UICollectionViewCompositionalLayout { [self] (sectionNumber, environment) -> NSCollectionLayoutSection? in .... } 设置布局项并将它们垂直和水平分组以形成整个部分的布局的闭包。

供参考-

创建个人项目 (H: 50, W: 50) -

let item = NSCollectionLayoutItem(layoutSize: NSCollectionLayoutSize(widthDimension: .absolute(50), heightDimension: .absolute(50)))

创建 组(水平) -

let group = NSCollectionLayoutGroup.horizontal(layoutSize:
                                                                    NSCollectionLayoutSize(widthDimension:
                                                                            .absolute(item.layoutSize.widthDimension.dimension * CGFloat((data.count))),
                                                                                           heightDimension:  .estimated(50)), subitem: item, count: (data.count))

组 - 垂直

 let subGroup = NSCollectionLayoutGroup.vertical(layoutSize:
                                                            NSCollectionLayoutSize(widthDimension:
                                                                    .absolute(CGFloat(width)),
                                                                                   heightDimension:
                                                                    .absolute(heightForIndividualItem * CGFloat(data.count))),
                                                        subitems: group)