【发布时间】:2020-11-06 14:03:13
【问题描述】:
看右边的黑色空间,它仍然可以容纳两个额外的项目。
但是由于某种原因,从第 7 项开始,渲染从下一行开始。
我的布局配置只改变了两个参数:
class CarouselFlowLayout: UICollectionViewFlowLayout {
override init() {
super.init()
minimumLineSpacing = 40
minimumInteritemSpacing = 20
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func prepare() {
super.prepare()
}
}
任何想法,我应该配置哪些参数以强制 collectionView 在返回下一行之前填充每个“行”?
【问题讨论】:
-
视图调试器对此有何评论。它几乎看起来好像集合的边界是错误的/不是全宽。
-
如果我创建一个包含 24 个元素的集合视图,则元素会到达边缘,因为每行包含 8 个元素。所以collectionView的宽度就是contentView的全宽
-
调试 View Hierarchy (cf developer.apple.com/library/archive/documentation/…) 以检查是否只是导致问题的 collectionView 的宽度。
-
仅供参考,我正在为 collectionView 边框着色,它与包含它的视图相匹配。所以我认为情况并非如此。
-
我发现原因是collectionView按列填充项目。然后移动到下一列
标签: swift uicollectionview uicollectionviewcell uicollectionviewlayout uicollectionviewdelegate