Menu
Coddy logo textTech

시트와 알림

Coddy Swift 여정의 SwiftUI 입문 섹션에 포함된 레슨. 50개 중 37번째.

시트는 현재 화면 위로 뷰를 밀어 올려 표시합니다. Bool 상태가 true일 때 표시됩니다:

@State private var showHelp = false

Button("Help") { showHelp = true }
    .sheet(isPresented: $showHelp) {
        Text("Swipe down to close")
    }

알림은 짧은 질문을 표시합니다. 제목, 버튼 및 선택적 메시지를 사용하며 동일한 방식으로 작동합니다:

Button("Delete") { askDelete = true }
    .alert("Delete photo?", isPresented: $askDelete) {
        Button("Delete", role: .destructive) { deletePhoto() }
        Button("Cancel", role: .cancel) { }
    } message: {
        Text("This cannot be undone.")
    }

알림의 버튼을 탭하면 해당 동작이 실행되고 알림이 닫히며, 상태가 다시 false로 설정됩니다. 시트 내부에서는 @Environment(\.dismiss) var dismiss를 통해 코드에서 시트를 닫는 dismiss() 동작을 사용할 수 있습니다.

challenge icon

챌린지

중급

사용자가 Save를 탭하면, 제목이 Saved!이고 메시지가 Your note is stored.인 알림과 OK 버튼 하나를 표시하세요. showSaved 상태를 사용하세요.

직접 해보기

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

SwiftUI 입문의 모든 레슨

직접 연습해 보세요: Swift 플레이그라운드