MacOS SwiftUI tlačidlo farbu popredia zmeny po tmavo/svetlo vzhľad zmeniť

0

Otázka

Tak som sa spustite nižšie kód v ihrisko a vidím, 2 tlačidlá na svetlo vzhľad, potom som sa prepnúť do tmavých režime. Obe tlačidlá aktualizácia farbu popredia ako súčasť SwiftUI rámec na off-biele. Potom som klepnite na jedno tlačidlo farbu popredia na iné tlačidlo(s) sa zmení na šedé. Pozrite si video pripojený nižšie. Pomocou 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

Najlepšiu odpoveď

0

Farbu popredia sa naozaj nezdá nastaviť medzi svetlými a tmavými režimy správne. Avšak, bol som schopný to opraviť s použitím farby, ktoré berie do úvahy rôzne okolnosti, pridajte ho ako .foregroundColor() na tlačidlá:

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

Mohlo by to byť spôsob, ako som sa snažia reprodukovať ho, ale nevidím toto správanie na macOS Monterey 12.0.1, čo to stojí za to.
Charles A.

Ale to update onTap. Tak vo svetle režim popredí štítok farba je čierna a onTap sa zmení na biele a tmavé režim popredí štítok farba je mimo biela a onTap zostane off-biele. Vyššie uvedené .forgroundColor riešenie nie je faktor onTap zmeniť. Skúste rozdiel otvorený Systém Voľba > Zabezpečenie a ochranu Osobných údajov a ťuknite na ikonu zámku (dole vľavo) a pozorovať správanie tlačidlo Zrušiť. Ďakujeme!
swifty-george

Odpoveď aktualizované.
Yrb

V iných jazykoch

Táto stránka je v iných jazykoch

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