경고창 표시
isPresented
를 관리하기 위한 변수를 추가한다.
struct Alert: View {
@State private var showAlert = false
}
경고창 제목, isPresented, actions, message
struct Alert: View {
@State private var showAlert = false
var body: some View {
...
}
.alert("경고창", isPresented: $showAlert) {
//표시할 버튼 전달
Button("확인") {
}
Button("취소") {
//버튼 역할 명시하지 않으면 그냥 옵션 중 하나임
}
Button(role: .cancel) {
//취소 버튼
} label: {
Text("진짜취소")
}
Button(role: .destructive) {
//삭제와 같이 되돌리기 어려운 경우 버튼
} label: {
Text("삭제")
}
} message: {
Text("경고창에 표시할 메시지")
}
}
struct Alert: View {
@State private var showImageAlert = false
@State private var imageData: ImageData = nil
var body: some View {
...
.alert("경고", isPresented: $showImageAlert, presenting: imageData) { data in
//data를 사용하여 액션을 추가 가능
Button("버튼") {
message = "\(data.name)"
}
...
} message: {
Text("경고창에 표시할 메시지")
}
}
}