Osa*_*eem 5 ios swift swiftui lazyvgrid
所以我试图获得一个具有不同大小的单元格的自定义网格。我有点被困在这里了。所以我有一个特定的单元格,其高度和大小是所有其他单元格的两倍。但单元格的左侧需要两行而不是一行。如何强制在下图中的 H3 下方或 H4 框左侧添加两个框。
这是我的代码:
struct CustomGridView: View {
var body: some View {
let gridItems = [GridItem(.fixed(150), spacing: 10, alignment: .leading),
GridItem(.fixed(150), spacing: 10, alignment: .leading),
GridItem(.fixed(150), spacing: 10, alignment: .leading)]
LazyVGrid(columns: gridItems, spacing: 10) {
ForEach(0..<9) { g in
Text("H:\(g)")
.frame(width: g == 4 ? 310 : 150, height: g == 4 ? 310 : 150)
.background(Color.red)
if g == 4 { Color.clear }
}
}
.frame(width: 470)
}
}
Run Code Online (Sandbox Code Playgroud)
这是迄今为止网格情况的屏幕截图:
对此的任何帮助将不胜感激。
小智 -1
我认为仅使用惰性 vgrid ForEach 时您无法做到这一点...如果您检查连续的最高单元格高度,然后以某种方式用另外两个框填充它,也许您可以做类似的事情。您需要为此编写一个自定义函数。另外哪个块将进入 H:3 上方/下方的空白区域?您需要为此编写一些自定义逻辑。