给定具有流布局的UICollectionView,计算集合视图的列数(垂直方向)或行数(水平方向)的最简单方法是什么?

最佳答案

我的修改方式(假设所有元素的大小都相同):

- (void) countRowsAndColumns
{
    NSArray *layouts = [collectionViewLayout layoutAttributesForElementsInRect:self.collectionView.bounds];
    NSMutableSet *columns = [NSMutableSet set];
    NSMutableSet *rows = [NSMutableSet set];
    for (UICollectionViewLayoutAttributes *layout in layouts)
    {
        if (layout.representedElementCategory != UICollectionElementCategoryCell) continue;
        CGFloat x = layout.frame.origin.x;
        [columns addObject:@(x)];
        CGFloat y = layout.frame.origin.y;
        [rows addObject:@(y)];
    }
    _columnCount = columns.count;
    _rowCount = rows.count;
}

关于ios - UICollectionViewFlowLayout的行和列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15710461/

10-10 21:07