gpt4 book ai didi

ios - minimumInteritemSpacing 在 Collection View 的末尾添加了一些奇怪的内容

转载 作者:行者123 更新时间:2023-11-28 06:22:23 53 4
gpt4 key购买 nike

我正在尝试仅用 1 行实现水平滚动的 Collection View 。我发现最简单的方法是准备自定义流布局:

class CollectionViewLayoutHorizontal : UICollectionViewFlowLayout {
override init() {
super.init()
//that enables self-sizing cells
self.estimatedItemSize = CGSize(width: 1, height: 1)
self.scrollDirection = .horizontal
//that one should ensure that only one line fits
//using CGFloat.greatestFiniteMagnitude aka CGFLOATMAX breaks collection view completely
self.minimumInteritemSpacing = 1000
self.minimumLineSpacing = 10
}
}

我的所有单元格都正确显示 - 它们在 Collection View 的中间彼此相邻,即使它们要小得多。但问题是末尾(最后一个单元格之后)有一个额外的空白空间,大小为 minimumInteritemSpacing,这是意想不到的。

有人解决这个问题吗?

bug

最佳答案

我知道这是一个老问题,但仍然没有明确的答案。

我最近在 iOS 12 上使用 Swift 4.2 时遇到了这个完全相同的问题。经过一些调查,我发现如果将 minimumLineSpacing 设置为小于其默认值的任何值(即 10) 然后流式布局会将此差异乘以(项目数 - 1)作为额外空间添加到 Collection View 的末尾。 (看起来总的contentSize是用默认值计算的,不管?)

无论如何,我能够通过将 minimumInteritemSpacing 设置为与 minimumLineSpacing 相同的值来解决这个问题,这在我的两者中都是 2案例。

我知道这没有任何意义,因为我的 Collection View 是单行的,具有水平滚动的 Collection View 流布局,所以 minimumInteritemSpacing 应该不会影响项目的布局,但是显然它确实如此,并且这样做了在最后删除额外空间的技巧。

关于ios - minimumInteritemSpacing 在 Collection View 的末尾添加了一些奇怪的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42980842/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com