Die folgenden 2 Schritte helfen Dir dabei, in Deiner SwiftUI basierenden App eine Funktion hinzuzufügen, mit welche die Nutzer der App den dunklen oder hellen Modus auswählen können.
import SwiftUI
struct Settings: View {
@AppStorage("isDarkModeOn") private var isDarkModeOn = false
var body: some View {
NavigationView {
List {
HStack {
Toggle("Dark Mode aktivieren", isOn: $isDarkModeOn)
}
}
}
}
}
Hier ist @AppStorage ein Eigenschafts-Wrapper, der UserDefaults-Werte widerspiegelt und eine Ansicht ungültig macht, wenn sich der Wert ändert. Daher machen wir diesen booleschen Wert in der Umschaltansicht wahr und falsch, was wie im Bild unten aussieht.
Dann müssen wir zum Haupteinstiegspunkt der App wechseln, der sich in der Datei mit dem @main-Attribut befindet, und diese Zeile oben erneut hinzufügen.
@AppStorage("isDarkModeOn") private var isDarkModeOn = false
Füge dann den folgenden Code wie gezeigt hinzu:
import SwiftUI
@main
struct PixzlTestApp: App {
@AppStorage("isDarkModeOn") private var isDarkModeOn = false
var body: some Scene {
WindowGroup {
ContentView()
.preferredColorScheme(isDarkModeOn ? .dark : .light)
}
}
}
Hier setzt PreferredColorScheme das Farbschema auf hell oder dunkel.
Das ist alles. Jetzt verfügt Dein Benutzer über eine Umschalttaste, mit der er in der gesamten App den Dunkel- oder Hellmodus einstellen kann.