我正在使用swift实现集合视图(垂直滚动),项目的顺序需要如下所示。
但是,默认的flowlayout排序是这样的。
有谁能告诉我如何使用自定义布局实现我需要的订购? 提前致谢。
答案 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;
}
(右上角)