我遇到类似于UICollectionView Section headers & footers show wrong way - iOS的问题:第1部分在iPad 9.7上的位置严重错误。
此部分在4-6“ ers处对齐就很好
我的布局:
lazy var layout: UICollectionViewFlowLayout = {
let layout = PayCollectionFlowLayout()
let w = self.view.bounds.size.width
let es = CGSize(width: 286, height: 174)
layout.estimatedItemSize = es
layout.headerReferenceSize = CGSize(width: w, height: 44)
return layout
}()
UPD:当我在这里捏造常量时:
func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath) -> CGSize {
let w = collectionView.bounds.size.width
// random junk that's narrower than 286 for 4"er
return CGSize(width: w - 40, height: 84)
}
它停止了并将该部分放置在随机位置上的意图。 它似乎对sizeForItemAt indexPath敏感 返回11之类的项目(如iOS)的正确高度 对行的估计高度不为0敏感。 事情是
collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath)
在计算商品尺寸之前,我打电话给waaaaay 取决于单元格中标签的动态类型。