UICollectionView設定行間距失效,解決辦法

weixin_34185364發表於2018-07-11

設定行間距,列間距的方法

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

但是你有沒有實現這兩個代理回撥之後,結果並不按照理想顯示的情況,那是因為需要實現的代理是UICollectionViewDelegateFlowLayout而並非UICollectionViewDelegate。發現這個坑,趕緊填上記錄下來。

寫在後邊

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

這個方法當你的UICollectionViewFlowLayout設定為flowLayout.scrollDirection = UICollectionViewScrollDirectionVertical;那麼這個方法相當於設定的是兩行之間的間距;如果設定為flowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;那麼這個方法相當於設定同一行兩個Cell之間的間距,這也是需要注意的一點。

相關文章