不使用numberOfSectionsInCollectionView时,在UICollectionView中设置行间距

时间:2015-01-16 19:14:51

标签: uicollectionview ios8.1

我想每行/每节显示3个单元格。我的内容来自API。如果我像下面的代码一样做静态,单元格间距(和行间距)都可以。

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
    return 10;
}

- (NSInteger)collectionView:(UICollectionView *)view numberOfItemsInSection:(NSInteger)section {
    return 3;
}

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

由于我的数据来自API,因此我将itemSize宽度设置为每行显示3并注释掉numberOfSectionsInCollectionView。但是,每行间距有很大差距。

//-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
//    return 10;
//}

- (NSInteger)collectionView:(UICollectionView *)view numberOfItemsInSection:(NSInteger)section {
    return _results.count;
}

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

有没有办法解决它?或者有更好的方法来实现这个吗?

1 个答案:

答案 0 :(得分:0)

如果有人可能遇到同样的问题,我就是这样修理的。

为您的UICollectionViewFlowLayout

设置此项
    [flowLayout setMinimumInteritemSpacing:0.0f];
    [flowLayout setMinimumLineSpacing:1.5];

我可以删除这个:

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