我有一个具有UICollectionViewFlowLayout的collectionview
我在里面放了十个物品。它们具有不同的大小:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {

if (indexPath.row<6) {
    CGSize retval =  CGSizeMake(100, 100);
    return retval;
}

CGSize retval =  CGSizeMake(200, 130);

return retval;
}

它的布局像:
前6个单元格看起来不错,而7-9个单元格是正确的,但最后一个单元格不是居中对齐的,


有人可以向我解释吗?

和最近的日子,我在玩集合的布局,但仍然对选择感到困惑
流程布局和自定义布局。有什么原则吗?

提前很多。

最佳答案

我在集合 View 中的最后几个单元格出现了难看的偏移时遇到了类似的问题。在我的情况下,这是由于不遵守关于项目大小的节插图。

尝试将flowLayout的sectionInset设置为0:

flowLayout.sectionInset = UIEdgeInsetsZero;

如果这不起作用,您可能需要强制执行minimumInterItemSpacing,因为流布局似乎会在最后几个单元格上造成麻烦:
flowLayout.minimumInteritemSpacing = 10.f;//or any reasonable number

10-06 14:10