当所有单元格的大小都不相同时,如何包装UICollectionView的单元格?

时间:2018-07-18 06:00:31

标签: ios swift uicollectionview wrapping

我有一个UICollectionView,我希望像这样的网格中出现这些单元格:

Expectation

我做了一些工作来计算单元格之间的间距(给定16px像素),但是我似乎无法弄清楚如何使这些单元格以我想要的方式包装。这是我当前UI的屏幕截图。目前,颜色是占位符,而我可以解决尺寸的纠结。蓝色将是透明的,红色将是图像。

Reality

我正在使用collectionView sizeForItemAt计算每个单元格的大小。

在Interface Builder中,集合视图具有以下设置:

Interface Builder

我确实尝试减小了较小单元格的大小,以查看它们是否会弹出(我描述了float在CSS中的工作原理),但没有帮助。他们只是在当前所在的行中变小,直到它们足够小以适合右上角的3个小行为止。

任何指导将不胜感激。

编辑1:

我只是想将滚动方向设置为水平而不是垂直,并且滚动方向更近,但仍然不正确。我实际上并未指定要在单元格之间设置16px装订线,即使这是计算单元格大小的目的。我将如何去做?

Horizontal

1 个答案:

答案 0 :(得分:1)

我认为在您的情况下,最好通过对UICollectionViewLayout进行子类化来为集合视图实现自定义布局。在Apple Documentation中有更多详细信息。