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