MacOS SwiftUI tlačítko popředí změny barvy po tmavě/světle vzhled změnit

0

Otázka

Tak jsem to spustit pod kód na hřiště a vidím, že 2 tlačítka na lehký vzhled, pak jsem přepnout na tmavý režim. Obě tlačítka aktualizovat barvu popředí jako součást SwiftUI rámec pro off-bílé. Pak jsem klepněte na tlačítko barvu popředí na ostatní tlačítka(s) se změní na šedou. Podívejte se na video přiložené níže. Pomocí Xcode 13.1


import SwiftUI
import PlaygroundSupport

struct ContentView: View {
    var body: some View {
        VStack {
            HStack {
                Text("Current")
                    .font(.subheadline)
                    .fontWeight(.semibold)
                    .foregroundColor(.gray)
                    .frame(maxWidth: .infinity, alignment: .leading)
                Label("43.672490, -79.388932", systemImage: "location")
                    .frame(width: 175, alignment: .trailing)
            }
            HStack {
                Button {} label: {
                    Text("
button swiftui
2021-11-22 22:03:17
1

Nejlepší odpověď

0

Barva popředí se skutečně nezdá být nastavit mezi světlem a tmou režimy správně. Nicméně, byl jsem schopen opravit jej pomocí barvy, které trvá různých vystoupení v potaz jej přidat jako .foregroundColor() na tlačítka:

struct ContentView: View {
    let buttonTextColor = Color(.secondaryLabelColor)
    var body: some View {
        VStack {
            HStack {
                Text("Current")
                    .font(.subheadline)
                    .fontWeight(.semibold)
                    .foregroundColor(.gray)
                    .frame(maxWidth: .infinity, alignment: .leading)
                Label("43.672490, -79.388932", systemImage: "location")
                    .frame(width: 175, alignment: .trailing)
            }
            HStack {
                Button {} label: {
                    Text("
2021-11-27 23:12:51

To by mohl být způsob, jak jsem se snaží reprodukovat to, ale nechápu to chování na macOS Monterey 12.0.1 pro co stojí za to.
Charles A.

Ale to aktualizovat onTap. Takže ve světle režimu popředí štítek barva je černá a onTap bylo bílé a tmavé režim popředí štítek barva je bílá a onTap zůstane off-bílé. Výše uvedené .forgroundColor řešení není faktorem onTap změnit. Vyzkoušet rozdíl otevřený Systém Pref > Zabezpečení a Soukromí a klepněte na ikonu zámku (vlevo dole) a pozorovat chování na tlačítko Storno. Děkuji!!!
swifty-george

Odpověď aktualizována.
Yrb

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................