小编use*_*032的帖子

UICollectionViewCompositionalLayout 最小项目大小

我希望我的最小项目尺寸UICollectionView为 150x150。我希望组合布局确定有多少 150x150 单元格可以安全地适合环境,然后在必要时从 150x150 增大尺寸以填充间隙,但保持使用 150x150 单元格大小计算的相同列数。

以下是我的尝试,它在纵向和横向上都没有保持 150x150 的最小单元尺寸。

let compositionalLayout = UICollectionViewCompositionalLayout(sectionProvider: { (sectionIndex, environment) -> NSCollectionLayoutSection? in
let fraction: CGFloat = 1 / (floor((environment.container.effectiveContentSize.width / 150)))
let inset: CGFloat = 10

let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(fraction), heightDimension: .fractionalHeight(1))
let item = NSCollectionLayoutItem(layoutSize: itemSize)
item.contentInsets = NSDirectionalEdgeInsets(top: inset, leading: inset, bottom: inset, trailing: inset)

let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1), heightDimension: .fractionalWidth(fraction))
let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item])

let section = NSCollectionLayoutSection(group: group)
section.contentInsets = …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview swift

4
推荐指数
1
解决办法
3333
查看次数

标签 统计

ios ×1

swift ×1

uicollectionview ×1