Swift - UICollectionViewLayout中的minimumLineSpacing调整行之间的空间

问题描述 投票:0回答:1

根据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)
        }
    }
}
ios swift
1个回答
0
投票

在你的UICollectionViewDelegate中添加以下功能

迅速

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

Objective-C的

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
© www.soinside.com 2019 - 2024. All rights reserved.