UICollectionViewCompositional
在处理正交部分内的大内容插图时,我注意到布局的错误行为。
考虑这个简单的布局
let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1), heightDimension: .fractionalHeight(1))
let item = NSCollectionLayoutItem(layoutSize: itemSize)
let groupSize = NSCollectionLayoutSize(widthDimension: .absolute(200), heightDimension: .absolute(200))
let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item])
let section: NSCollectionLayoutSection = .init(group: group)
section.orthogonalScrollingBehavior = .continuous
section.contentInsets = .init(top: 0, leading: 200, bottom: 0, trailing: 0)
section.interGroupSpacing = 10
请注意:
- 组宽是
.absolute(200)
- 部分前导内容插图为 200
问题在于,当前导部分内容插入等于或大于组宽度(在本例中为 200)时,该部分中的最后一个单元格会消失(见下表)。此行为在 iOS 13.7、14.4 和 14.5 中似乎相同。我没有测试其他版本。
section.contentInsets.leading < 200 ✅</th> | section.contentInsets.leading >= 200 ❌</th> |
---|---|
最后一个单元格(编号 5)正确可见 | 最后一个单元格(编号 5)消失了,留下一个空白区域 |
你怎么看?我在这里做错了什么还是可能需要向 Apple 报告?
谢谢