使用自定义布局的UICollectionView项目顺序

时间:2017-03-19 19:29:35

标签: ios objective-c swift uicollectionview flowlayout

我正在使用swift实现集合视图(垂直滚动),项目的顺序需要如下所示。

第1项第5项

Item2 Item6

Item3 Item7

Item4 Item8

但是,默认的flowlayout排序是这样的。

Item1 Item2

Item3 Item4

Item5 Item6

Item7 Item8

有谁能告诉我如何使用自定义布局实现我需要的订购? 提前致谢。

1 个答案:

答案 0 :(得分:0)

您需要创建?的子类。从那里,您可以使用'.{5,}?' 来计算每个单元格的框架。

UICollectionViewFlowLayout

在您的示例中,索引3处的项目( Item4 )将具有框架layoutAttributesForItemAtIndexPath:(左下角)和索引4处的项目( Item5 )会有框架- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionViewLayoutAttributes *attributes = [UICollectionViewLayoutAttributes layoutAttributesForCellWithIndexPath:indexPath]; int half = NUM_ITEMS + 1 / 2; int row = indexPath.row % half; int col = indexPath.row <= half ? 0 : 1; attributes.frame = CGRectMake(CELL_WIDTH * col, CELL_HEIGHT * row, CELL_WIDTH, CELL_HEIGHT); return attributes; } (右上角)