Zum Inhalt springen
Skip

Alert

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

Skip support for SwiftUI.Alert.

The following example screens and source code is from SkipUI’s Showcase sample app AlertPlayground.swift

import SwiftUI
struct AlertPlayground: View {
@State var value = ""
@State var error: AlertPlaygroundError? = nil
@State var data: Int? = nil
@State var titleIsPresented = false
@State var titleMessageIsPresented = false
@State var twoButtonsIsPresented = false
@State var threeButtonsIsPresented = false
@State var fiveButtonsIsPresented = false
@State var dataIsPresented = false
var body: some View {
VStack(spacing: 16) {
Text(value).bold()
Group {
Button("Title") {
titleIsPresented = true
}
Button("Title + Message") {
titleMessageIsPresented = true
}
Button("Two Buttons") {
twoButtonsIsPresented = true
}
Button("Three Buttons") {
threeButtonsIsPresented = true
}
Button("Five Buttons") {
fiveButtonsIsPresented = true
}
}
Divider()
Group {
Text("Present with data")
Button("Data: \(String(describing: data))") {
if data == nil {
data = 1
} else {
data = data! + 1
}
}
Button("Nil data") {
data = nil
}
Button("Present") {
dataIsPresented = true
}
}
}
.padding()
.toolbar {
PlaygroundSourceLink(file: "AlertPlayground.swift")
}
.alert("Title", isPresented: $titleIsPresented) {
}
.alert("Title + Message", isPresented: $titleMessageIsPresented) {
} message: {
Text("This is the alert message to show beneath the title")
}
.alert("Two Buttons", isPresented: $twoButtonsIsPresented) {
Button("Option") {
value = "Option"
}
Button("Cancel", role: .cancel) {
value = "Custom Cancel"
}
}
.alert("Three Buttons", isPresented: $threeButtonsIsPresented) {
Button("Cancel", role: .cancel) {
value = "Custom Cancel"
}
Button("Option") {
value = "Option"
}
Button("Destructive", role: .destructive) {
value = "Destructive"
}
}
.alert("Five Buttons", isPresented: $fiveButtonsIsPresented) {
Button("Cancel", role: .cancel) {
value = "Custom Cancel"
}
Button("Destructive", role: .destructive) {
value = "Destructive"
}
Button("Option 1") {
value = "Option 1"
}
Button("Option 2") {
value = "Option 2"
}
Button("Option 3") {
value = "Option 3"
}
}
.alert("Data", isPresented: $dataIsPresented, presenting: data) { d in
Button("Data: \(d)") {
value = "\(d)"
}
Button("Nil Data", role: .destructive) {
data = nil
}
}
}
}
enum AlertPlaygroundError: LocalizedError {
case testError
}