ios - UICollectionView 布局最后一行

ios - UICollectionView layout last row

我目前正在开发 UICollectionView。我一直在寻找 SO 并发现了这个问题的几个问题,但是 none 其中有一个问题的答案。也许如果我在这里收集一个问题中的所有事实,可以为这个问题提供一个解决方案:

如果我有一个带有简单 UICollectionViewFlowLayout 子类的 collectionView,那么除了最后一行之外一切正常。我用 autoLayout 做 一切。单元格对齐得很好,它们会在新行开始时立即填充该行。唯一的问题是 最后一行的布局 仍然是等待添加另一个项目的样子。

现在,一些代码,这是我的 UICollectionViewFlow 子类:

@implementation SubCollectionViewFlowLayout
- (instancetype)init {
    self = [super init];
    if (self) {
        self.estimatedItemSize = CGSizeMake(100, 100);
        self.minimumInteritemSpacing = 5.0f;
        self.minimumLineSpacing = 5.0f;
        self.scrollDirection = UICollectionViewScrollDirectionVertical;
    }
    return self;
}

这是整个子类化。所以这真的只是基本的。

因此,在寻找与此问题相关的另一个问题时,我发现了以下 SO 问题。第一个完全是我的问题,其他的好像都差不多。

  • UICollectionView layout of last cell

  • UICollectionView estimatedItemSize - last cell is not aligned

  • UICollectionView last cell not aligned

  • Last item in UICollectionView not alligned - Swift

我希望这足以说明问题,一如既往地非常感谢您的帮助。

研究了一番,估计不太可能顺利解决。

但是有可能解决它,如in this Answer所述。

只需添加一个高度为 0 且宽度为 collectionViewWidth 的附加单元格。对此进行了测试并且工作正常。