Der Farbwechsel kommt jetzt auch an
Farbton und Symbolfarbe standen beim **Erzeugen** der Fenster, also außerhalb jeder View. Damit wird der Wert genau einmal gelesen und SwiftUI erfährt nie, dass er sich geändert hat: die Reiter, Knöpfe und Symbole blieben in der Farbe stehen, die beim Öffnen galt, während der Farbwähler daneben schon die neue zeigte. Jetzt stehen beide im Rumpf der jeweiligen View — Panel, Einstellungen, Einrichtung. Dort registriert SwiftUI den Zugriff und zeichnet neu. Bei den Popovers blieb es beim Erzeugen: die entstehen bei jedem Öffnen neu, lesen also ohnehin den aktuellen Wert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -71,6 +71,14 @@ struct SettingsView: View {
|
||||
// Systems, und die beiden liegen in Dunkelgrau ein, zwei Prozent
|
||||
// auseinander. Sichtbar wurde das als Kante quer durchs Fenster.
|
||||
.background(Color(nsColor: .windowBackgroundColor))
|
||||
// Farbton und Symbolfarbe hier und nicht beim Erzeugen des Fensters.
|
||||
//
|
||||
// Beim Erzeugen wird der Wert **einmal** gelesen, außerhalb jeder
|
||||
// View — SwiftUI erfährt nie, dass er sich geändert hat. Die Reiter
|
||||
// und Knöpfe blieben deshalb in der Farbe stehen, die beim Öffnen
|
||||
// galt, während der Farbwähler daneben schon die neue zeigte.
|
||||
.tint(Onyx.Color.accent)
|
||||
.labelStyle(.onyx)
|
||||
// Nur ein Mindestmaß, keine feste Größe: sonst kann das Fenster
|
||||
// wachsen, der Inhalt aber nicht mit.
|
||||
.frame(minWidth: 740, minHeight: 460)
|
||||
|
||||
Reference in New Issue
Block a user