minimumInteritemSpacingForSectionAtIndex和minimumLineSpacingForSectionAtIndex有什么区别

时间:2016-02-24 08:04:57

标签: ios uicollectionview

所以在文档中,它说:

minimumInteritemSpacingForSectionAtIndex:对于水平滚动网格,此值表示同一列中项目之间的最小间距。

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

我猜如果节数为1,我应该使用minimumInteritemSpacingForSectionAtIndex;当节数> 1,我应该使用minimumLineSpacingForSectionAtIndex

但是,我有一个水平滚动集合视图,节数为1,项目数为2.

当我设置minimumInteritemSpacingForSectionAtIndex返回10时,似乎没有任何反应。当我使用minimumLineSpacingForSectionAtIndex返回10时,左侧单元格和右侧单元格有10个空格边距,似乎正常工作。

所以我很困惑same columnsuccessive columns的含义。有人可以解释一下吗?

2 个答案:

答案 0 :(得分:16)

- collectionView:layout:minimumLineSpacingForSectionAtIndex:
  

向代表询问部分的连续行或列之间的间距。

     

<强>讨论
  如果未实现此方法,则流布局将使用其minimumLineSpacing属性中的值来设置行之间的间距。您对此方法的实现可以返回固定值或为每个部分返回不同的间距值。

- collectionView:layout:minimumInteritemSpacingForSectionAtIndex:
  

向代表询问某个部分的行或列中连续的项目之间的间距。

     

讨论
  如果未实现此方法,则流布局将使用其minimumInteritemSpacing属性中的值来设置项之间的间距。您对此方法的实现可以返回固定值或为每个部分返回不同的间距值。

我认为这是有充分记录并在UICollectionViewDelegateFlowLayout

下讨论的

同一行。(对于inter项)代表商品之间的最小间距,这将决定一行中有多少商品。

  

这是针对垂直网格的:

ex: 
[1]     (interItemSpacing)     [2]     (interItemSpacing)     [3]

[4]     (interItemSpacing)     [5]     (interItemSpacing)     [6]
  

这是针对水平网格的:

ex: 
       [1]               [3]                 [5]
(interItemSpacing) (interItemSpacing) (interItemSpacing)
       [2]               [4]                 [6]

连续行。(对于行间距)表示连续行之间的最小间距

  

这是针对垂直网格的:

ex: 
    [1]            [2]          [3]

(lineSpacing) (lineSpacing) (lineSpacing)

    [4]            [5]          [6]
  

这是针对水平网格的:

ex: 
    [1]     (lineSpacing)       [3]     (lineSpacing)     [5]

    [2]     (lineSpacing)       [4]     (lineSpacing)     [6]

答案 1 :(得分:0)

minimumInteritemSpacingForSectionAtIndex =&gt;与项目对齐 minimumLineSpacingForSectionAtIndex =&gt;允许没有项目的行