首页 > 解决方案 > 在 Swift UI 中保存后导航回来

问题描述

我有一个简单的详细视图,用户可以在其中输入数据。按下保存按钮后,我希望应用程序导航回上一个列表视图。详细视图通过 NavigationLink 打开。我认为按钮的操作需要以某种方式进行调整。任何建议表示赞赏。

标签: swiftswiftui

解决方案


为此,您需要Environment在详细视图中获取一个变量:

@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>

然后在按钮的操作中调用它的关闭方法,如下所示:

self.presentationMode.wrappedValue.dismiss()

一个更详细的例子:

struct DetailView: View {

    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    @State var someData = ""

    var body: some View {
        TextField("Placeholder", text: $someData)
        Button(action: {
            saveData()
            self.presentationMode.wrappedValue.dismiss() 
        }) {
            Text("Save data and go back")
        }
    }
}

推荐阅读