仅在 iPhone 13 Pro 的中间不显示集合视图单元格
Posted
技术标签:
【中文标题】仅在 iPhone 13 Pro 的中间不显示集合视图单元格【英文标题】:CollectionViewCells not displaying in middle on iPhone 13 Pro only 【发布时间】:2021-12-01 12:42:59 【问题描述】:在 iPhone 13 Pro 上专门出现了显示用户相机胶卷的收藏视图的问题。这包括模拟器和真实设备。
单元格的布局就像集合视图中缺少一列一样。在 12 Pro Max 或 SE 2nd gen 等之前的型号上不会出现此错误。
我使用的布局是“UICollectionViewFlowLayout”或“Flow”布局。我想知道这是 ios 15 还是 Xcode 13 的问题,还是在其他地方做了一些改变。
以下是一些展示该问题的屏幕截图:
iPhone 13 专业版:
iPhone 12 Pro Max:
相同的代码呈现这两个输出...
什么可能导致这个问题或去哪里寻找?
更新:
宽度计算正确:
let numberOfColumn = CGFloat(configure.numberOfColumn)
let width = (view.frame.size.width - (5 * (numberOfColumn - 1))) / numberOfColumn
正如您将在下面的 ss 中看到的,当我选择一个单元格(橙色边框)时,它是正常大小,单元格大小似乎不是问题。当我点击中间的空白处时,它什么也不做,那里没有单元格。
【问题讨论】:
调整单元格大小。 您还需要调整中心间隙。考虑将它用于不同的设备。 你有静态宽度吗?它应该类似于 (UIScreen.main.bounds.width / numberOfHorizontalItems) - 间距 - (leading + trailing)/numberOfHorizontalItems 我更新了问题,似乎不是单元格大小问题,更像是索引或布局问题。 有什么想法吗?如果列是 const 3,则为数字。 【参考方案1】:所以是单元格大小缩小了一小部分!
let count = CGFloat(configure.numberOfColumn) // value is always 3
let width = floor((view.frame.size.width - (5 * (count - 1))) / count)
在宽度上调用 floor()
已修复问题,现在 13 Pro 和其他型号的屏幕宽度可以容纳 3 个单元格。
【讨论】:
以上是关于仅在 iPhone 13 Pro 的中间不显示集合视图单元格的主要内容,如果未能解决你的问题,请参考以下文章
对于 iPhone - 但不是 iOS 模拟器 - UIToolbar UIBarButtonItem 将仅在长按时突出显示,而不是在点击时突出显示
准备入手iPhone13,纠结选择买13 Pro Max还是13 Pro?