如何在 SwiftUI 中创建可编辑表格?

Dre*_*rew 2 tableview swiftui

如何在视图上创建表格(参见屏幕截图)?用户应该能够编辑/将一些数据放入文本字​​段。我尝试通过添加多个 VStack 和 HStack 来重新创建它,但我的 Xcode 很快就开始抱怨。

我希望任何人都可以帮助我解决这个问题。应该注意的是,会有一些这样的表,因此用户将提供大量输入(以防万一它对应用程序性能产生一些影响)。它将位于 ScrollView 和 NavigationView 内部。

无论如何,我感谢任何建议并提前致谢!亲切的问候

截屏

Chr*_*isR 5

一如既往,@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()
    }
}
Run Code Online (Sandbox Code Playgroud)