0
給定一個帶流佈局的UICollectionView
,計算集合視圖的列數(垂直方向)或行數(水平方向)的最簡單方法是什麼?行和列的UICollectionViewFlowLayout
給定一個帶流佈局的UICollectionView
,計算集合視圖的列數(垂直方向)或行數(水平方向)的最簡單方法是什麼?行和列的UICollectionViewFlowLayout
我做這件事的方式hackish的(假定所有元素都具有相同大小):
- (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;
}