Menu
Coddy logo textTech

Sheets und Alerts

Teil des Abschnitts Einführung in SwiftUI der Swift-Journey von Coddy. Lektion 37 von 50.

Ein Sheet schiebt eine Ansicht über den aktuellen Bildschirm nach oben. Es wird angezeigt, solange ein Bool-Zustand wahr ist:

@State private var showHelp = false

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

Eine Warnung stellt eine kurze Frage. Sie funktioniert auf dieselbe Weise, mit einem Titel, Schaltflächen und einer optionalen Nachricht:

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

Das Tippen auf eine der Schaltflächen des Hinweises führt dessen Aktion aus und schließt den Hinweis, wobei der Zustand wieder auf false gesetzt wird. Innerhalb eines Sheets stellt @Environment(\.dismiss) var dismiss eine dismiss()-Aktion bereit, die es aus dem Code heraus schließt.

challenge icon

Aufgabe

Mittel

Wenn der Benutzer auf Save tippt, zeige einen Alert mit dem Titel Saved!, der Nachricht Your note is stored. und einer OK-Schaltfläche an. Verwende den Zustand showSaved.

Probier es selbst

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Einführung in SwiftUI

Übe selbstständig: Swift-Playground