如果 UICollectionView 没有足够的单元格来填充一行,则使第一行不完整而不是最后一行

Posted

技术标签:

【中文标题】如果 UICollectionView 没有足够的单元格来填充一行,则使第一行不完整而不是最后一行【英文标题】:If UICollectionView does not have enough cells to fill a row, make the first row incomplete not the last 【发布时间】:2015-08-03 19:00:36 【问题描述】:

基本上我有一个所有单元格大小相同的集合视图。如果最后一行不完整(例如,它没有完全填充的行),则集合视图会用空单元格填充最后一行,如下图中的 A。 如何让我的集合视图看起来像 B,其中不完整的行是第一行而不是最后一行?

我处于这种情况是因为我必须将 CollectionView 旋转 180 度,以便最新添加的项目位于顶部,而不是底部,因此再次旋转或翻转集合视图无法解决我的问题。 (当固定为 B 时,添加到集合视图中的新项目在技术上将位于 1 左侧的位置。)

更好的解决办法是根本不翻转CollectionView,而只是重做我的应用程序的其余逻辑,以添加新项目并维护它们的索引? UICollectionView 是我在 ios 编程方面的弱点...

编辑:通过变通方法解决了我的问题。我翻转了集合视图的数据源的顺序,它适用于我的情况。但是,由于我本身没有解决问题,因此将问题留待解决。

【问题讨论】:

【参考方案1】:

只需添加另一行内容为空的内容并在开始时加载。

【讨论】:

这并不能解决我的问题,因为我希望该行部分填充元素,而不是完全为空。

以上是关于如果 UICollectionView 没有足够的单元格来填充一行,则使第一行不完整而不是最后一行的主要内容,如果未能解决你的问题,请参考以下文章

一旦满足某些条件,如何立即重新加载 UICollectionView 单元格

自动调整UICollectionView高度以调整其内容大小

如何根据 UICollectionView 中有多少单元格来更改视图的大小

使 UICollectionView 可滚动,即使它未满

UICollectionView 拖放更新所有受影响的 indexPaths

当有人滚动到 UICollectionView 的顶部时,如何调用方法?