如何在UICollectionView中更改单元格之间的空间?

Joh*_*Doe 17 ios uicollectionview uicollectionviewcell swift

我想减少行中单元格之间的大小.现在它看起来像:

在此输入图像描述

我正在尝试这个,以减少它们之间的大小:

let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 20, left: 2, bottom: 10, right: 2)
layout.minimumInteritemSpacing = 0
layout.minimumLineSpacing = 0
Run Code Online (Sandbox Code Playgroud)

但它对我没有帮助.我做错了什么?

Yag*_*iya 26

//Objective c
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
        return CGSizeMake((collectionView.frame.size.width/3)-20, 100);
    }

// Swift 2.0

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    return CGSizeMake((collectionView.frame.size.width / 3) - 20, 100)
}

// Swift 3.0
override func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    return CGSize(width: CGFloat((collectionView.frame.size.width / 3) - 20), height: CGFloat(100))
}
Run Code Online (Sandbox Code Playgroud)

  • @ZacharyGover你可以用可信的来源备份这个"索赔"吗?大多数苹果模块仍然用Objective-C编写,现在仍然被广泛使用. (2认同)

Him*_*wan 23

转到故事板,右键单击集合视图和 在此输入图像描述

并检查单元格之间的最小间距,并将其减小到零.


小智 10

在您的代码中,您必须为集合视图创建一个IBOutlet,然后分配collectionViewLayout:

let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 20, left: 2, bottom: 10, right: 2)
layout.minimumInteritemSpacing = 0
layout.minimumLineSpacing = 0
collectionView!.collectionViewLayout = layout
Run Code Online (Sandbox Code Playgroud)