Sheet và cảnh báo
Thuộc phần Giới thiệu về SwiftUI trong hành trình Swift của Coddy. Bài học 37 trên 50.
Một sheet trượt một khung nhìn lên trên màn hình hiện tại. Khung nhìn này hiển thị khi trạng thái Bool là true:
@State private var showHelp = false
Button("Help") { showHelp = true }
.sheet(isPresented: $showHelp) {
Text("Swipe down to close")
}Một cảnh báo đưa ra một câu hỏi ngắn. Cảnh báo hoạt động theo cách tương tự, với tiêu đề, các nút và một thông báo không bắt buộc:
Button("Delete") { askDelete = true }
.alert("Delete photo?", isPresented: $askDelete) {
Button("Delete", role: .destructive) { deletePhoto() }
Button("Cancel", role: .cancel) { }
} message: {
Text("This cannot be undone.")
}Chạm vào bất kỳ nút nào trong cảnh báo sẽ chạy hành động tương ứng và đóng cảnh báo, đặt trạng thái trở lại false. Bên trong một trang tính, @Environment(\.dismiss) var dismiss cung cấp hành động dismiss() để đóng trang tính bằng code.
Thử thách
Trung bìnhKhi người dùng nhấn Save, hãy hiển thị cảnh báo có tiêu đề Saved!, thông báo Your note is stored. và một nút OK. Sử dụng trạng thái showSaved.
Tự làm thử
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Giới thiệu về SwiftUI
Tự luyện tập: Playground SwiftUI