גיליונות והתראות
חלק מהיחידה מבוא ל-SwiftUI במסלול ה-Swift של Coddy. שיעור 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 אונליין