工作表与警告框
本课属于 Coddy Swift 学习旅程的“SwiftUI 入门”单元。第 37 课,共 50 课。
工作表会将一个视图向上滑入当前屏幕上方。当 Bool 状态为 true 时,它会显示:
@State private var showHelp = false
Button("Help") { showHelp = true }
.sheet(isPresented: $showHelp) {
Text("Swipe down to close")
}警告框会提出一个简短的问题。它的工作方式相同,包含标题、按钮和可选的消息:
Button("Delete") { askDelete = true }
.alert("Delete photo?", isPresented: $askDelete) {
Button("Delete", role: .destructive) { deletePhoto() }
Button("Cancel", role: .cancel) { }
} message: {
Text("This cannot be undone.")
}点击警告框中的任意按钮都会执行对应操作并关闭警告框,将状态设回 false。在工作表中,@Environment(\.dismiss) var dismiss 会提供一个 dismiss() 操作,让你可以在代码中关闭工作表。
挑战
中等当用户点击 Save 时,显示一个标题为 Saved!、消息为 Your note is stored. 的提醒,并添加一个 OK 按钮。使用 showSaved 状态。
亲手试试
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
SwiftUI 入门中的所有课
自己练习: SwiftUI 在线编辑器