根据Apple的文档,UICollectionFlowLayout类的minimumLineSpacing应该确定UICollectionView中两行之间的间距量。

我将UICollectionFlowLayout子类化,并将该类连接到我的UICollectionView。但是,无论我将minimumLineSpacing设置为什么值,都不会影响CollectionView的外观。

如何设置行之间的空间?

// My subclassed UICollectionViewFlowLayout
import UIKit

class CustomImageFlowLayout : UICollectionViewFlowLayout{

    override init(){
        super.init()
        setupLayout()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init()
        setupLayout()
    }

    func setupLayout(){
        self.minimumInteritemSpacing = 1 // <-- this works just fine
        self.minimumLineSpacing = 55 // <-- no matter what this value is nothing changes.
        scrollDirection = .Vertical
    }

    override var itemSize: CGSize{
        set{

        }

        get{
            let numberOfColumns: CGFloat = 3

            let itemWidth = (CGRectGetWidth(self.collectionView!.frame) - (numberOfColumns - 1)) / numberOfColumns
            return CGSizeMake(itemWidth, itemWidth)
        }
    }
}

最佳答案

在您的UICollectionViewDelegate中添加以下功能

迅速

optional func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat


目标C

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section

关于ios - Swift-UICollectionViewLayout中的minimumLineSpacing用于调整行之间的空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37447357/

10-11 07:49