Ios 如何在带有垂直滚动网格的UICollectionView中设置列间距

Ios 如何在带有垂直滚动网格的UICollectionView中设置列间距,ios,swift3,uicollectionview,Ios,Swift3,Uicollectionview,我对UICollectionViewFlowLayout复杂的主题有点陌生,是的!!我已经检查了所有与主题相关的问题,但我仍然被卡住了 我所要做的就是在UICollectionView中使用垂直网格布局设置列之间的间距。从前面关于“如何设置UIcollectionViewCells上的间距”主题的所有问题来看,我尝试过但未成功的主要答案是: 使用最小行间距和最小行间距 使用func collectionView(collectionView:UICollectionView,layout col

我对
UICollectionViewFlowLayout
复杂的主题有点陌生,是的!!我已经检查了所有与主题相关的问题,但我仍然被卡住了

我所要做的就是在
UICollectionView
中使用垂直网格布局设置列之间的间距。从前面关于“如何设置
UIcollectionViewCells
上的间距”主题的所有问题来看,我尝试过但未成功的主要答案是:

  • 使用
    最小行间距
    最小行间距

  • 使用
    func collectionView(collectionView:UICollectionView,layout collectionViewLayout:UICollectionViewLayout,insetforsection:Int)->UIEdgeInsets{

  • 第二个解决方案由于某种原因没有达到我的目标 第一种解决方案在垂直网格布局中没有任何帮助,正如apple文档在
    collectionView(布局:最小线间距或分段:)上所指示的那样。

    对于垂直滚动网格,此值表示连续行之间的最小间距。对于水平滚动网格,此值表示连续列之间的最小间距

    我的问题是:既然现有的
    最小元素间距
    最小行间距
    仅适用于水平网格上的列,我如何做一个简单的解决方法,以便在垂直
    集合视图中设置列之间的间距。

    单元格(列)之间的间距由collectionView的宽度、单元格的宽度和“单元格的最小间距”确定

    因此,如果collectionView的宽度为300分,单元格的宽度为100分,则3个单元格*100==300

    如果最小间距为零,则每行将有3个单元格,间距为零

    如果将“最小间距”设置为40,则3个单元格*100+(2个空格*40)==380…这太宽了,因此每行上只会有2个单元格,而这两个单元格之间的间距将为300-(100*2)==100


    因此,要在单元格(列)之间获得特定的固定空间,您需要计算所需的总宽度,并更改collectionView的宽度或剖面插图。

    您的单元格的宽度是可变的还是恒定的?@DonMag。您是指
    sizeForItemAt indexPath
    函数吗?不,我的意思是:每个单元格的宽度是否相同?例如-每个单元格都是100x100图像视图?或者,第一个单元格是否可以是ceWell是100x100图像,第二个单元格是150磅宽的标签,第三个单元格是60x60图像,等等?@DonMag是的。我已将
    sizeForItem
    func中的所有单元格设置为相同的
    CGSize
    。单元格之间的大小没有差异