根据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
Objective-C的
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section