在这里插入代码片
// 总列数
int totalColumns = 3;
// 每一格的尺寸
CGFloat cellW = 50;
CGFloat cellH = 50;
// 间隙
CGFloat margin =(self.view.frame.size.width - totalColumns * cellW) / (totalColumns + 1);
// 根据格子个数创建对应的框框
for(int index = 0; index< self.array.count; index++) {
UIView *cellView = [[UIView alloc ]init ];
cellView.backgroundColor = [UIColor blueColor];
// 计算行号 和 列号
int row = index / totalColumns;
int col = index % totalColumns;
// 根据行号和列号来确定 子控件的坐标
CGFloat cellX = margin + col * (cellW + margin);
CGFloat cellY = row * (cellH + margin);
cellView.frame = CGRectMake(cellX, cellY, cellW, cellH);
// 添加到view 中
[self.view addSubview:cellView];
}
本文介绍了一种使用Swift创建网格布局的方法,通过计算视图的位置和大小,实现了动态生成等宽等高的单元格布局。该方法适用于需要展示多个相同尺寸项目的应用场景。
1738

被折叠的 条评论
为什么被折叠?



