SwiftUI画面遷移の二つ方法

方法一: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()
        }
    }
}