方法一:sheet
struct ContentView: View { @State private var showSecondView = false var body: some View { Button("Show Second View") { self.showSecondView.toggle() } .sheet(isPresented: $showSecondView) { SecondView() } } } struct SecondView: View { @Environment(\.presentationMode) var presentationMode var body: some View { Button("Dismiss") { self.presentationMode.wrappedValue.dismiss() } } }
方法二:NavigationLink
struct ContentView: View { var body: some View { NavigationView { NavigationLink(destination: SecondView()) { Text("Go to Second View") } .navigationBarTitle("First View") } } } struct SecondView: View { @Environment(\.presentationMode) var presentationMode var body: some View { Button("Dismiss") { self.presentationMode.wrappedValue.dismiss() } } }