我有一个显示模式表的主视图。由于我有多个模式,我使用 enum 和 State 来控制显示哪个工作表。
@State var activeSheet: Sheet?
在我的主视图中:
Button(action: {
activeSheet = .settings
}, label: {
Text(“Button”)
})
.sheet(item: $activeSheet) { sheet in
switch sheet {
case .info:
InfoView()
case .settings:
SettingsView()
}
}
设置视图:
struct SettingsView: View {
@Environment(\.presentationMode) private var presentationMode
@EnvironmentObject var model: MainModel
var body: some View {
Button("Action") {
model.myFunction()
}
}
}
在我的 InfoView 表中,我有一个按钮,可以调用 EnvironmentObject 中的函数。在 EnvironmentObject 中完成功能后,如何关闭工作表?
每个视图都链接到同一个 EnvironmentObject 顺便说一句。
谢谢!