我无法让我的 LazyVGrid 显示超过两行
I can't get my LazyVGrid to show more than two rows
所以我得到了这个非常基本的网格。它有 5 列,应该有 3 行。
但是我无法让编译器编译超过两行的任何内容....
编译器报错:'Extra arguments at positions #11, #12, #13, #14, #15 in call'
如果我删除文本 6 到 10,它会编译....
代码:
struct ContentView: View {
var columns = [
GridItem(spacing: 8, alignment: .leading),
GridItem(spacing: 8, alignment: .center),
GridItem(spacing: 8, alignment: .center),
GridItem(spacing: 8, alignment: .center),
GridItem(spacing: 8, alignment: .center)
]
var body: some View {
LazyVGrid(columns: columns, spacing: 8) {
Text("Buttons").font(.headline)
Text("resting").font(.subheadline)
Text("active").font(.subheadline)
Text("loading").font(.subheadline)
Text("disabled").font(.subheadline)
Text("1").font(.headline)
Text("2").font(.subheadline)
Text("3").font(.subheadline)
Text("4").font(.subheadline)
Text("5").font(.subheadline)
Text("6").font(.headline)
Text("7").font(.subheadline)
Text("8").font(.subheadline)
Text("9").font(.subheadline)
Text("10").font(.subheadline)
}.padding(.horizontal, 10)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
您已达到 ViewBuilder
10 次观看限制...因此当您使用静态内容时,您必须将一些内容包装在 Group
/s 中以符合该规则(即。构建块中不超过 10 个视图)
所以,喜欢
var body: some View {
LazyVGrid(columns: columns, spacing: 8) {
Group {
Text("Buttons").font(.headline)
Text("resting").font(.subheadline)
Text("active").font(.subheadline)
Text("loading").font(.subheadline)
Text("disabled").font(.subheadline)
}
Group {
Text("1").font(.headline)
Text("2").font(.subheadline)
Text("3").font(.subheadline)
Text("4").font(.subheadline)
Text("5").font(.subheadline)
Text("6").font(.headline)
Text("7").font(.subheadline)
Text("8").font(.subheadline)
Text("9").font(.subheadline)
Text("10").font(.subheadline)
}
Group {
... other code
}
}.padding(.horizontal, 10)
}
注意:Group
也是视图,所以组也不要超过10个...但是组可以包含其他组...
但是...当然最好使用动态内容,例如 ForEach
,以防万一。
所以我得到了这个非常基本的网格。它有 5 列,应该有 3 行。 但是我无法让编译器编译超过两行的任何内容....
编译器报错:'Extra arguments at positions #11, #12, #13, #14, #15 in call'
如果我删除文本 6 到 10,它会编译....
代码:
struct ContentView: View {
var columns = [
GridItem(spacing: 8, alignment: .leading),
GridItem(spacing: 8, alignment: .center),
GridItem(spacing: 8, alignment: .center),
GridItem(spacing: 8, alignment: .center),
GridItem(spacing: 8, alignment: .center)
]
var body: some View {
LazyVGrid(columns: columns, spacing: 8) {
Text("Buttons").font(.headline)
Text("resting").font(.subheadline)
Text("active").font(.subheadline)
Text("loading").font(.subheadline)
Text("disabled").font(.subheadline)
Text("1").font(.headline)
Text("2").font(.subheadline)
Text("3").font(.subheadline)
Text("4").font(.subheadline)
Text("5").font(.subheadline)
Text("6").font(.headline)
Text("7").font(.subheadline)
Text("8").font(.subheadline)
Text("9").font(.subheadline)
Text("10").font(.subheadline)
}.padding(.horizontal, 10)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
您已达到 ViewBuilder
10 次观看限制...因此当您使用静态内容时,您必须将一些内容包装在 Group
/s 中以符合该规则(即。构建块中不超过 10 个视图)
所以,喜欢
var body: some View {
LazyVGrid(columns: columns, spacing: 8) {
Group {
Text("Buttons").font(.headline)
Text("resting").font(.subheadline)
Text("active").font(.subheadline)
Text("loading").font(.subheadline)
Text("disabled").font(.subheadline)
}
Group {
Text("1").font(.headline)
Text("2").font(.subheadline)
Text("3").font(.subheadline)
Text("4").font(.subheadline)
Text("5").font(.subheadline)
Text("6").font(.headline)
Text("7").font(.subheadline)
Text("8").font(.subheadline)
Text("9").font(.subheadline)
Text("10").font(.subheadline)
}
Group {
... other code
}
}.padding(.horizontal, 10)
}
注意:Group
也是视图,所以组也不要超过10个...但是组可以包含其他组...
但是...当然最好使用动态内容,例如 ForEach
,以防万一。