SwiftUI에서 경고를 사용하는 방법
SwiftUI에는
Alert
구성 요소가 있으며 여러 가지 방법으로 사용할 수 있습니다.어디 보자.경계의
SwiftUI를 사용하여 경고를 표시하는 가장 간단한 방법 중 하나는 부분 상태 변수를 사용하여 경고가 표시되어야 하는지 여부를 표시하는 것입니다.다음에 보기 수정기
.alert
를 추가해야 합니다. 보기 Alert
를 되돌려야 합니다.@State private var showAlert = false
var body: some View {
VStack {
Button("Show alert") {
showAlert = true
}
.alert(isPresented: $showAlert) {
Alert(title: Text("Title"))
}
}
}
이전 예에서 우리는 showAlert
상태 변수 유지bool
값을 보았다.처음에는 경보가 보이지 않았다. 그것은 false
였다.단추를 눌렀을 때, 상태 변수를 true
로 변경해야 합니다. 이것은 경보를 터치해서 화면에 볼 수 있도록 합니다.기본적으로 경보는 경보를 해제하기 위한 확인 단추가 있는 것을 볼 수 있다.이 글 뒤에 더 많은 단추를 추가하려고 시도합니다.
Alert
보기에 대해 우리는 title
뿐만 아니라 message
필드도 제공할 수 있다. 이 필드는 하나하나이다.Alert(title: Text("Title"),
message: Text("Message"))
식별 가능한 항목에 대한 경고
SwiftUI에서 경고를 표시하는 또 다른 방법은 인식 가능한 뷰 상태 변수를 사용하는 것입니다.이 방법을 사용하면 SwiftUI 레이아웃 시스템에서 이 상태 변수의 값을 전달하고 경고 제목, 메시지 또는 이벤트 단추를 그 내용으로 채울 수 있습니다.이 프로젝트가 변경되면 SwiftUI 레이아웃 시스템은 새 값으로 경보를 업데이트합니다. 이것은 매우 간결한 기능입니다. 우리는 무료로 얻을 수 있습니다.
코드에서 그것을 어떻게 실현하는지 봅시다.우선, 우리는
Identifiable
협의를 실현하는 대상을 설정해야 한다.사용자 구조를 만듭니다.우리는 id
상수를 만들어야 한다. 우리는 UUID
구조를 사용하여 전역적으로 유일한 값을 표시하고 그들 사이의 값을 식별할 수 있다.struct User: Identifiable {
let id: UUID
let name: String
}
이제 SwiftUI 섹션으로 이동하여 보기를 만듭니다.@State private var user: User?
var body: some View {
VStack {
Button("Show alert") {
user = User(id: UUID(), name: "Kristaps")
}
.alert(item: $user) { user in
Alert(title: Text("Hello, \(user.name)!"))
}
}
}
주의해야 할 것은view state 변수는 선택할 수 있습니다. 왜냐하면 SwiftUI가 경보를 화면에 볼 수 있는지 여부를 결정하기 때문입니다..alert
보기 수정기를 사용할 때, 입력 변수가 있는 클립이 있습니다. 이 변수는 상태 변수의 현재 값입니다.이렇게 하면 우리는 경보 제목을 채울 수 있다.경고 버튼
이제 SwiftUI를 사용하여 화면에 경고를 표시하는 두 가지 방법을 알아냈습니다.그러나 어떻게 여러 개의 단추를 표시하고 사용자 정의합니까?
경보에 단추를 추가하려면
Alert
초기값 설정 항목을 사용하여 Dismise 단추를 지정하거나 Alert
초기값 설정 항목을 사용하여 초기화.alert
주 단추와 보조 단추를 제공할 수 있습니다.목록에서 특정 내용을 삭제할지 묻는 확인 경보를 만듭니다.
@State private var showAlert = false
var body: some View {
VStack {
Button("Show alert") {
showAlert = true
}
.alert(isPresented: $showAlert) {
Alert(title: Text("Do you want to delete this item?"),
primaryButton: .cancel(),
secondaryButton: .destructive(Text("Delete")) {
print("Delete item")
}
)
}
}
}
비밀번호 풀래요.경보를 표시하기 위해서 우리가 사용하는 첫 번째 방법은 상태 변수를 보는 것입니다. 이 변수는 우리가 언제 화면에 경보를 표시하기를 원하는지 표시합니다.구조
Alert
가 표시한 .alert
보기 수식자에서 우리는 경보 단추에 대한 정보를 제공하기 위해 서로 다른 초기값 설정 항목을 사용한 것을 보았다.이것은 경보 조작을 나타내는 특정button이다.SwiftUI에는여러 경고 표시
한 보기에 여러 개의 경보를 표시하려면 두 가지 방법이 있다.
상태 변수 사용
첫 번째는 경보마다 보기 상태 변수를 보존하는 것입니다.그러나 전체 보기가 아닌
.alert
수식자를 추가해야 하지만, 예를 들어 경보를 호출하는 단추를 추가할 수 있습니다.만약 우리가 하나씩 두 개의 Identifiable
수식자를 추가한다면, SwiftUI 레이아웃 엔진은 첫 번째만 보일 것입니다.@State var firstAlertShown = false
@State var secondAlertShown = false
var body: some View {
VStack(spacing: 50) {
Button("Show first alert") {
firstAlertShown = true
}
.alert(isPresented: $firstAlertShown) {
Alert(title: Text("First alert"))
}
Button("Show second alert") {
secondAlertShown = true
}
.alert(isPresented: $secondAlertShown) {
Alert(title: Text("Second alert"))
}
}
}
인식 가능한 상태 변수 사용
나는 두 번째 방법이 더 좋다. 그것이 더 안전하다.우선, 우리는
AlertIdentifier
협의에 부합되는 경보를 표시하는 구조를 세워야 한다.이 구조에서, 우리는 특정한 경보 보기의 모든 경보 유형을 표시하고 되돌려 주기를 원하는 로컬 매거 유형을 가지고 있다.이상적인 상황에서 그것은 분리되어야 하지만, 이 예를 보여주기 위해서 나는 그것을 이렇게 유지한다.struct AlertIdentifier: Identifiable {
enum ActiveAlert {
case first
case second
var alertView: Alert {
switch self {
case .first:
return Alert(title: Text("First alert"))
case .second:
return Alert(title: Text("Second alert"))
}
}
}
var id: ActiveAlert
}
그런 다음 SwiftUI 보기를 만들어 사용하겠습니다.경보를 호출하고 구성할 때, 우리의 보기는 새로운 alertView
유형의 국부 상태 변수를 사용할 것입니다.이전에 ActiveAlert
매거진에 구축된 컴퓨터 .alert
속성과 함께 사용할 수 있습니다.struct MultipleAlertsViewIdentifiable: View {
@State var alert: AlertIdentifier?
var body: some View {
VStack(spacing: 50) {
Button("Show first alert") {
alert = AlertIdentifier(id: .first)
}
Button("Show second alert") {
alert = AlertIdentifier(id: .second)
}
}
.alert(item: $alert) {
$0.id.alertView
}
}
}
여기에는 해제해야 할 부분이 많지만, 중요한 것은 같은 보기에서 여러 개의 경보를 표시하는 것이 안전하고, 각 경보에 상태 변수를 추가할 필요가 없다는 것이다.이 방법을 사용하면 사용자에게 경보가 표시될지 걱정할 필요가 없습니다. 왜냐하면 보기 수정기가 보기 자체 주위에 분산되어 있지 않기 때문입니다.TL;박사 01 명
응용 프로그램 사용자에게 알림을 표시하거나 사용자 인터페이스에 대한 확인을 요청하는 경보를 표시합니다.두 가지 방법으로 SwiftUI를 사용하여 경고를 표시할 수 있습니다.첫 번째 방법은 상태 변수를 사용하여 경보가 보이는지 여부를 표시하는 것이다.두 번째는 경고 제목, 메시지 및 버튼을 채우는 데 사용할 수 있는 식별 가능한 상태 변수를 사용합니다.
우리는 경보를 위해 여러 종류의 단추를 설정할 수 있다.두 개 이상을 보여주려면 SwiftUI 양식을 사용해야 합니다.
같은 보기에서 여러 개의 경보를 표시하려면 여러 개의 보기 상태 변수를 사용하거나 경보 자체를 만드는 식별 구조를 사용해서 실현할 수 있습니다.
링크
Reference
이 문제에 관하여(SwiftUI에서 경고를 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fassko/how-to-use-alert-with-swiftui-27p7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)