Ios 每行包含项目的水平列表

Ios 每行包含项目的水平列表,ios,swift,Ios,Swift,我正在尝试创建以下水平列表。请参阅附件。请注意,每行有5个类别的水平列表。它在一行上列出5个,然后继续到另一行。另外,请注意它是如何水平滚动的?有人能给我指一下正确的方向吗 以下是我用来创建collectionView的内容: let viewLayout = UICollectionViewFlowLayout() viewLayout.scrollDirection = .horizontal collectionView = UICollectionView(frame:

我正在尝试创建以下水平列表。请参阅附件。请注意,每行有5个类别的水平列表。它在一行上列出5个,然后继续到另一行。另外,请注意它是如何水平滚动的?有人能给我指一下正确的方向吗

以下是我用来创建collectionView的内容:

let viewLayout = UICollectionViewFlowLayout()
    viewLayout.scrollDirection = .horizontal
    collectionView = UICollectionView(frame: CGRect(x: self.viewTitle.frame.origin.x, y: self.viewTitle.frame.origin.y + self.viewTitle.frame.height + 100, width: self.view.frame.width, height: 400), collectionViewLayout: viewLayout)
    collectionView.backgroundColor = .white
    self.innerView.addSubview(collectionView)
    
    collectionView.allowsMultipleSelection = true
    collectionView.allowsSelection = true
    collectionView.dataSource = self
    collectionView.delegate = self
    collectionView.register(CategoryMiniCell.self, forCellWithReuseIdentifier: CategoryMiniCell.identifier)
如何在每行列出5个项目


我建议查看
UICollectionViewCompositionLayout
。 您的布局如下所示:

UICollectionViewCompositionalLayout { (sectionIndex, layoutEnvironment) -> NSCollectionLayoutSection? in
    let itemSize = NSCollectionLayoutSize(widthDimension: .estimated(100), heightDimension: .fractionalHeight(1.0))
    let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .absolute(50))

    let item = NSCollectionLayoutItem(layoutSize: itemSize)

    let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitem: item, count: 5)

    let layoutSection = NSCollectionLayoutSection(group: group)
    layoutSection.orthogonalScrollingBehavior = .continuous
    return layoutSection
}

@马特,你能给我举个例子吗?