我想用 UICollectionViewCompositionalLayout 替换 UICollectionViewLayout 的自定义实现,但似乎无法获得相同的布局。我尝试了多种组合来生成布局。这是最新的。
func generateLayout() -> UICollectionViewLayout {
let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1/3),
heightDimension: .estimated(50))
let item = NSCollectionLayoutItem(layoutSize: itemSize)
item.contentInsets = NSDirectionalEdgeInsets(top: 2, leading: 2, bottom: 2, trailing: 2)
let groupSize = NSCollectionLayoutSize( widthDimension: .fractionalWidth(1.0), heightDimension: .estimated(50))
let group = NSCollectionLayoutGroup.horizontal( layoutSize: groupSize, subitems: [item])
let section = NSCollectionLayoutSection(group: group)
let layout = UICollectionViewCompositionalLayout(section: section)
return layout
}
所有单元格必须具有相同的大小,当然,所有视图都应底部对齐。问题似乎是高度。是的,我可以使用 UICollectionViewLayout 中的一些代码来计算正确的高度,但这有点违背了目的。如果我必须这样做,我不妨保留我的自定义 UICollectionViewLayout。
是否可以使用 UICollectionViewCompositionalLayout 实现我想要的布局?如果是这样,怎么做?