[SwiftUI] dismiss

SuminJN·2023년 6월 14일

Dismiss

현재 화면을 dismiss해서 이전 화면으로 돌아가기 위해 사용


# iOS 15.0+

환경변수 선언

@Environment(\.dismiss) private var dismiss

사용

dismiss()


Sheet 적용 예시

struct ContentView: View {
    @State private var isSheetPresented = false

    var body: some View {
        Button("Show Sheet") {
            isSheetPresented = true
        }
        .sheet(isPresented: $isSheetPresented) {
            SheetContents()
        }
    }
}
struct SheetContents: View {
    @Environment(\.dismiss) private var dismiss

    var body: some View {
        Button("back") {
            dismiss()
        }
    }
}


struct ContentView: View {
    var body: some View {
        NavigationStack {
            NavigationLink("Detail View") {
                DetailView()
            }
        }
    }
}
struct DetailView: View {
    @Environment(\.dismiss) private var dismiss
    
    var body: some View {
        Button("back") {
            dismiss()
        }
        .navigationBarBackButtonHidden(true)
    }
}


📚 참고
Apple Developer Document - dismiss

0개의 댓글