如何在 SwiftUI 中创建 editable table?
How do I create an editable table in SwiftUI?
如何在视图上创建 table(见屏幕截图)?用户应该能够编辑/将一些数据放入文本字段中。我试图通过添加多个 VStacks 和 HStacks 来重新创建它,但我的 Xcode 很快就开始抱怨了。
我希望任何人都可以帮助我解决这个问题。应该注意的是,会有一些这样的 table,因此用户会提供很多输入(以防它对应用程序性能产生一些影响)。它将位于 ScrollView 和 NavigationView 中。
无论如何,我感谢任何类型的建议,并提前致谢!
亲切的问候
Screenshot
一如既往,@Yrb 是绝对正确的。这是它的样子:
struct ContentView: View {
@State var inputFields: [String] = Array(repeating: "", count: 24)
let columns = Array(repeating: GridItem(.flexible(minimum: 20)), count: 7)
let rowTitles = ["A", "B", "C", "D"]
var body: some View {
LazyVGrid(columns: columns) {
// first headline row
Text("")
ForEach(1..<7) { i in
Text("\(i)").bold()
}
// rows
ForEach(0..<4) { row in
Text(rowTitles[row]).font(.title)
ForEach(0..<6) { col in
TextField("", text: $inputFields[row * 6 + col])
.background(
VStack {
Spacer()
Color.primary
.frame(height: 1)
}
)
}
}
}
.padding()
}
}
如何在视图上创建 table(见屏幕截图)?用户应该能够编辑/将一些数据放入文本字段中。我试图通过添加多个 VStacks 和 HStacks 来重新创建它,但我的 Xcode 很快就开始抱怨了。
我希望任何人都可以帮助我解决这个问题。应该注意的是,会有一些这样的 table,因此用户会提供很多输入(以防它对应用程序性能产生一些影响)。它将位于 ScrollView 和 NavigationView 中。
无论如何,我感谢任何类型的建议,并提前致谢! 亲切的问候
Screenshot
一如既往,@Yrb 是绝对正确的。这是它的样子:
struct ContentView: View {
@State var inputFields: [String] = Array(repeating: "", count: 24)
let columns = Array(repeating: GridItem(.flexible(minimum: 20)), count: 7)
let rowTitles = ["A", "B", "C", "D"]
var body: some View {
LazyVGrid(columns: columns) {
// first headline row
Text("")
ForEach(1..<7) { i in
Text("\(i)").bold()
}
// rows
ForEach(0..<4) { row in
Text(rowTitles[row]).font(.title)
ForEach(0..<6) { col in
TextField("", text: $inputFields[row * 6 + col])
.background(
VStack {
Spacer()
Color.primary
.frame(height: 1)
}
)
}
}
}
.padding()
}
}