如何使用单独文件中的表单部分?
How to use form sections from separate file?
今年早些时候,我使用 SwiftUI 创建了一个应用程序。当 运行 in iOS 时,此应用程序的一部分已损坏 14. 我有一个创建和编辑表单,目标是重用它们共有的部分。以前它可以将这些部分放在 Group
中,因为 iOS 14 失败并将所有部分放入单个视图中。
目前实现方式与此类似:
struct CreateForm: View {
var body: some View {
Form {
Section {
Text("First section")
}
OtherSections()
}
}
}
struct OtherSections: View {
var body: some View {
Group { // <--- This is causing the issue
Section {
Text("First Detail Section")
}
// In real implementation there are some conditional sections
if false {
Section {
Text("Second Detail Section")
}
}
}
}
}
关于如何解决这个问题有什么建议吗?
尝试使用 @ViewBuilder
而不是 Group
:
struct OtherSections: View {
@ViewBuilder
var body: some View {
Section {
Text("First Detail Section")
}
// In real implementation there are some conditional sections
if false {
Section {
Text("Second Detail Section")
}
}
}
}
(还要确保 OtherSections
符合 View
)
今年早些时候,我使用 SwiftUI 创建了一个应用程序。当 运行 in iOS 时,此应用程序的一部分已损坏 14. 我有一个创建和编辑表单,目标是重用它们共有的部分。以前它可以将这些部分放在 Group
中,因为 iOS 14 失败并将所有部分放入单个视图中。
目前实现方式与此类似:
struct CreateForm: View {
var body: some View {
Form {
Section {
Text("First section")
}
OtherSections()
}
}
}
struct OtherSections: View {
var body: some View {
Group { // <--- This is causing the issue
Section {
Text("First Detail Section")
}
// In real implementation there are some conditional sections
if false {
Section {
Text("Second Detail Section")
}
}
}
}
}
关于如何解决这个问题有什么建议吗?
尝试使用 @ViewBuilder
而不是 Group
:
struct OtherSections: View {
@ViewBuilder
var body: some View {
Section {
Text("First Detail Section")
}
// In real implementation there are some conditional sections
if false {
Section {
Text("Second Detail Section")
}
}
}
}
(还要确保 OtherSections
符合 View
)