iphone 5 上的 UICollectionView 布局问题

UICollectionView layout issue on iphone 5

我的 UICollectionView 有问题,我有 3 列并且一切正常,而不是 iphone 5 和 4。

在 iphone 6 中,我的 collectionview 看起来(单元格宽度):

Iphone 5 个单元格:

问题是,在最后一行,我有 2 个单元格,看起来像这样:

我想要达到的效果:

尽可能将插图设置为 (0, 0, 0, 0)。我使用默认布局,我的插图设置在情节提要中。那么是否可以通过流式布局来实现这一点,或者我需要研究自定义布局?

=== 编辑 我在故事板中创建 UICollectionView 并实现委托:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    float width = self.frame.size.width / 3.0f;
    float height =  floorf(width + 118);

    if(SMALLER_THAN_6){
        width = floorf(width);
        if([indexPath row] % 3 < 2){
            ++width;
        }
    }


    return CGSizeMake(width, height);
}

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
    return UIEdgeInsetsMake(0, 0, 0, 0);
}

- (CGFloat)collectionView:(UICollectionView *)collectionView
                   layout:(UICollectionViewLayout*)collectionViewLayout
minimumInteritemSpacingForSectionAtIndex:(NSInteger)section {
    return 0.0;
}

- (CGFloat)collectionView:(UICollectionView *)collectionView
                   layout:(UICollectionViewLayout*)collectionViewLayout
minimumLineSpacingForSectionAtIndex:(NSInteger)section{
    return 0.0;
}

我通过在行末插入一个空单元格解决了这个问题(仅在 iphone 4 和 5 上)