6.3_将表单分成几个sections

SwiftUI 的表单通常在分成多个部分时效果最好,就像常规的内容列表一样。 如何将它们分组取决于你,但是通常情况下,按照它们的目的进行分组效果最好 - 如果它是一个订单页面你可以将项目放在一个组中,在另一个组中进行定制,并在第三个组中进行交付。 很有帮助的是,表单 sections 与列表 sections 相同,这意味着您可以在两个地方重复使用相同的代码。因此,您可以向 sections 中添加 header 和/或 footer ,或者两者都不使用,只需在 sections 之间获得一些屏幕上的间距。

例如,这将创建一个包含两个 section 的表单,第一个 section 带有 segmented controltoggle ,第二个 section 带有保存按钮:

struct ContentView : View {
    
    @State var enableLogging = false
    @State var selectedColor = 0
    @State var colors = ["Red", "Green", "Blue"]
    
    var body: some View {
        Form {
            Section(footer: Text("Note: Enabling logging may slow down the app")) {
                SegmentedControl(selection: $selectedColor) {
                    ForEach(0..<colors.count) {
                        Text(self.colors[$0]).tag($0)
                    }
                }
                Toggle(isOn: $enableLogging) {
                    Text("Enable logging")
                }
            }
            Section {
                Button(action: {
                    
                }) {
                    Text("Save changes")
                }
            }
        }
        .navigationBarTitle(Text("Settings"))
    }
}

运行效果: 6.3_form_sections

Avatar
M X
Mobile, Front-End Developer

My research interests include swift developing, python developing and go developing.

Related

Next
Previous
comments powered by Disqus