0

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)消失了,留下一个空白区域
最后一个单元格 (5) 正确可见 最后一个单元格 (5) 消失了,留下一个空白区域

你怎么看?我在这里做错了什么还是可能需要向 Apple 报告?

谢谢

4

1 回答 1

0

看起来这是 UIKit 中的一个错误。相同的应用程序在 iOS 15 beta 和 Xcode 13 上正常运行。

于 2021-06-17T06:39:34.893 回答