3

我已经重载了UICollectionViewFlowLayout,使其每个UICollectionViewCell中都有一个包含UIImages的水平行滑块。UICollectionView,UICollectionViewFlowLayout:不同的单元格宽度和单元格之间定义的间隔相同

在超载UICollectionViewFlowLayout中,我已将minimumLineSpacing设置为0以在UICollectionViewCells之间没有间隔。 (默认为10px的)

  • 在情况下,每个单元具有相同的宽度,在0像素间距是正确显示

  • 在情况a电池具有更大的宽度,所述0像素都没有更多的考虑和细胞间的默认10px的应用..

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

- (CGFloat)collectionView:(UICollectionView *)collectionView 
      layout:(UICollectionViewLayout*)collectionViewLayout 
      minimumLineSpacingForSectionAtIndex:(NSInteger)section { 
    return 0.0; 
} 
  • 它是一个错误?
  • 什么是“窍门”让我的UICollectionViewCells与不同宽度之间的0px间距?

回答

5
  1. 这是一个错误吗?
    这不是一个错误,它是UICollectionViewFlowLayout的默认行为。流布局是一种断行布局,意思是假设它将所有单元格沿着一条直线排列并将其排列在屏幕上。一旦它填满了一行(新的项目没有空间),它将打破这条线并继续下一个。 UICollectionViewFlowLayout保证minimumLineSpacing没有确切的。如果您的物品尺寸不同,流量布局会按照保持最小行距的方式排列单元格。所以线路尺寸可能会增加,但绝不会比您之前设定的值低。

    enter image description here

  2. 我不认为这是可能的流布局,你应该使用一个自定义布局。检查this IAM不知道,你可以设置间隔为零给出一个尝试
    JSPrintDemo

+0

我花了几个小时,试图让UICollectionViewFlowLayout与我合作,最后我放弃了,让我自己UICollectionViewLayout ,主要是使用这里的教程:http://skeuo.com/uicollectionview-custom-layout-tutorial ...但是,我也需要可变宽度的单元格,我不确定如何完成此操作。链接中的代码帮助我对此进行了排序,具体如下:https://github.com/jayslu/JSPintDemo/blob/master/JSPintDemo/PintCollectionViewLayout.m –

相关问题