1

我想用 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 实现我想要的布局?如果是这样,怎么做?

4

0 回答 0