ios - UICollectionViewFlowLayout 的行和列

标签 ios uicollectionview uicollectionviewlayout

给定一个具有流式布局的 UICollectionView,计算 Collection View 的列数(垂直方向)或行数(水平方向)的最简单方法是什么?

最佳答案

我的做法(假设所有元素具有相同的大小):

- (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/

相关文章:

ios - 如何卸下键盘。正常方法不起作用。 objective-c

ios - 无法将分段控件添加到 ios 7 中的警报 View

ios - 在 swift 中导入 swift 链接的 objc 类

ios - Xamarin 表单上的 FlexLayout,未填充项目行为?

ios - 当我快速滚动时,CollectionViewCell 显示错误的图像

ios - UIPanGestureRecognizer 不调用结束状态

ios - 使用缓存的 UICollectionViewLayoutAttributes 子类化 UICollectionViewLayout

swift - 快速,是否有可能在 Collection View 单元格中添加 Collection View ?

ios - 随机大小的 UICollectionViewCell 圆形设计

ios - 将第一个和最后一个 UICollectionViewCell 的位置设置在 UICollectionView 的中心