你可以使用一个具体的 UICollectionViewFlowLayout 类的布局对象在 collection view 中排列你的 items。流水布局实现了一个线性换行的布局,意味着布局对象在一个线路径上放置 cell,同时也适合更多的 cell 在这条路径进行布局。当布局对象执行布局超过当前行的空间,他会创建一个新的行,继续进行布局。下面的图标就显示了一个竖直滚动的流水布局的样子。在这种情况下,线路布局水平与每个新行定位低于前一行。细胞在一个部分可以可选地包围部分页眉和页脚部分的视图。
你可以使用流水布局实现网格,同时你也可以使用流水布局做更多的事情。线性布局的概念可以应用到许多不同的设计。例如,尽管有了网格的 item,你也可以调整 spacing 去创建一个单行的 items 在一个向量上进行滚动。item 也可以有不同的尺寸,与传统的视图比较这样将导致跟多的不对称。但是仍然是一个线性的流动。这样就会有跟多的可能性。
您可以配置流动布局以编程方式或在Xcode中使用界面构建器。配置流布局的步骤如下:
- 创建一个流布局对象,并将其分配给你的集合视图。
- 配置 cell 的宽度和高度。
- 如果需要,设置 行之间 和 item 之间的 spacing
- 如果你想要 sectiom header 和 footer ,请指定他们的尺寸。
- 设置 布局 滚动的方向。
重要事项: 你不需提供 cell 的宽度和 cell 的高度。如果你的项目配置 item 的宽高为 0,0 。那么你将永远也看不见。