MacOS SwiftUİ düğmesi ön plan rengi koyu/açık görünüm değişikliğinden sonra değişir

0

Soru

Bu yüzden aşağıdaki kodu playground'da çalıştırıyorum ve ışık görünümünde 2 düğme görüyorum, sonra karanlık moda geçiyorum. Her iki düğme de SwiftUİ çerçevesinin bir parçası olarak ön plan rengini kirli beyaza günceller. Sonra bir düğmeye dokunduğumda, diğer düğmelerdeki ön plan rengi griye dönüşür. Aşağıda ekli videoya bakın. Xcode 13.1'i kullanma


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

En iyi cevabı

0

Ön plan rengi gerçekten de açık ve koyu modlar arasında düzgün bir şekilde ayarlanmıyor gibi görünüyor. Ancak, farklı görünümleri hesaba katan bir renk kullanarak bunu bir renk olarak ekleyerek düzeltebildim. .foregroundColor() düğmelerin üzerinde:

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

Onu yeniden üretmeye çalıştığım yol olabilir, ancak bu davranışı macOS Monterey 12.0.1'de ne pahasına olursa olsun görmüyorum.
Charles A.

Ama ontap'ı güncelliyor mu? Böylece ışık modunda ön plan etiket rengi siyahtır ve onTap beyaza döner ve karanlık modda ön plan etiket rengi kapalı beyazdır ve onTap kapalı beyaz kalır. Yukarıdakiler .forgroundColor çözümü, onTap değişikliğini hesaba katmaz. Farkı denemek için Sistem Ön > Güvenlik ve Gizlilik'i açın ve kilit simgesine (sol altta) dokunun ve İptal düğmesinin davranışını gözlemleyin. Teşekkürler!
swifty-george

Cevap güncellendi.
Yrb

Diğer dillerde

Bu sayfa diğer dillerde

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