你可以使用一個具體的 UICollectionViewFlowLayout 類的布局對象在 collection view 中排列你的 items。流水布局實現(xiàn)了一個線性換行的布局,意味著布局對象在一個線路徑上放置 cell,同時也適合更多的 cell 在這條路徑進行布局。當布局對象執(zhí)行布局超過當前行的空間,他會創(chuàng)建一個新的行,繼續(xù)進行布局。下面的圖標就顯示了一個豎直滾動的流水布局的樣子。在這種情況下,線路布局水平與每個新行定位低于前一行。細胞在一個部分可以可選地包圍部分頁眉和頁腳部分的視圖。

flow_horiz_headers_2x.png
你可以使用流水布局實現(xiàn)網(wǎng)格,同時你也可以使用流水布局做更多的事情。線性布局的概念可以應(yīng)用到許多不同的設(shè)計。例如,盡管有了網(wǎng)格的 item,你也可以調(diào)整 spacing 去創(chuàng)建一個單行的 items 在一個向量上進行滾動。item 也可以有不同的尺寸,與傳統(tǒng)的視圖比較這樣將導(dǎo)致跟多的不對稱。但是仍然是一個線性的流動。這樣就會有跟多的可能性。
您可以配置流動布局以編程方式或在Xcode中使用界面構(gòu)建器。配置流布局的步驟如下:
- 創(chuàng)建一個流布局對象,并將其分配給你的集合視圖。
- 配置 cell 的寬度和高度。
- 如果需要,設(shè)置 行之間 和 item 之間的 spacing
- 如果你想要 sectiom header 和 footer ,請指定他們的尺寸。
- 設(shè)置 布局 滾動的方向。
重要事項: 你不需提供 cell 的寬度和 cell 的高度。如果你的項目配置 item 的寬高為 0,0 。那么你將永遠也看不見。