如何在收集单元之间不留空间?

时间:2015-08-18 03:49:59

标签: ios autolayout uicollectionview size-classes

我正在使用自动布局和尺寸等级。宽度紧凑,屏幕宽度为375.I有四张图片一行。因此,单元格宽度为93,它们之间的空间很小。但是我没有空间。也许可以在一行显示5张图片?如何每行显示5张图片?或其他解决方案?

此处没有使用任何代码,我没有足够的声誉来发布图片。请不要投票...

1 个答案:

答案 0 :(得分:0)

如果您希望单元格调整宽度,则需要根据视图宽度计算流程布局itemSize

  • 如果您的所有单元格大小相同,则可以设置流程布局的itemSize属性。

    对于您的问题,这将是最简单的解决方案,因为您可以确定每行特定数量图片的整数宽度,以避免图片之间出现任何间隙。

  • 如果您需要计算每个单元格的尺寸,您可以在collectionView:layout:sizeForItemAtIndexPath:代表中执行此操作。

您可以在设备方向更改并重新更新布局时重新计算itemSize:

  • 重绘不带动画的布局:

    [self.collectionView.collectionViewLayout invalidateLayout]

  • 动画布局更改:

    [self.collectionView performBatchUpdates:nil completion:nil]