3

我已经重载了UICollectionViewFlowLayout一个水平行滑块UIImages,每个滑块都包含UICollectionViewCell.

在重载UICollectionViewFlowLayout时,我已将 设置minimumLineSpacing为 0 以获得之间没有间距UICollectionViewCells。(默认为 10 像素)

  • 如果每个单元格的宽度相同,则正确显示 0px 间距

  • 如果单元格的宽度更大,则不再考虑 0px,并应用单元格之间的默认 10px。

我试图实现以下方法,但结果相同......

- (CGFloat)collectionView:(UICollectionView *)collectionView 
           layout:(UICollectionViewLayout*)collectionViewLayout 
           minimumLineSpacingForSectionAtIndex:(NSInteger)section {
    return 0.0;
}
  • 这是一个错误吗?
  • UICollectionViewCells在不同宽度的我之间获得 0px 间距的“技巧”是什么?
4

1 回答 1

5
  1. 它是一个错误吗?
    这不是错误,它是UICollectionViewFlowLayout. 流式布局是一种换行布局,这意味着它会将所有单元格沿一条直线放置并在屏幕上排列。一旦它填满一行(没有新项目的空间),它就会打破这一行并进入下一个。UICollectionViewFlowLayout确保minimumLineSpacing不准确。如果您的项目大小不同,则流程布局以保持最小行距的方式排列单元格。所以线的大小可能会增加,但绝不会低于您之前设置的值。

    在此处输入图像描述

  2. 我认为流布局不可能,您应该使用一种自定义布局。检查这个我不确定你可以将间距设置为零试试
    JSPrintDemo

于 2013-05-22T07:14:42.377 回答