Neden SwiftUİ tabItem systemImage doldurulur?

0

Soru

tabItem için systemImage "map" ve "person" ı seçiyorum, ancak görüntüler içi boş formatta olması gereken dolu formatta. Sebebi ne olabilir?

struct TestView: View {
var body: some View {
    TabView {
        Text("Map!")
            .tabItem {
                Label("Map", systemImage: "map")
            }
        
        Text("Profile")
            .tabItem {
                Label("Person", systemImage: "person")
            }
    }
}

}

Xcode: 13.1

SF Sembolleri: 3.1

enter image description here

swiftui
2021-11-21 19:08:21
1

En iyi cevabı

3

Bu, iOS 15'teki standart SwiftUİ davranışıdır, çünkü varsayılan olarak Apple'ın İnsan Arabirimi Yönergeleri'nden gelen önerileri uygular; bu, sekme çubuklarının SF Sembollerinin doldurulmuş varyantlarını kullanması gerektiğini, ipad'deki kenar çubuklarının anahat varyantını kullanması gerektiğini söyler.

Etkisi iOS ile elde edilir otomatik olarak uygulanıyor .symbolVariant sembol varyantları belgelerinde belirtildiği gibi ortam değeri:

SwiftUİ bazı ortamlarda sizin için bir varyant belirler. Örneğin, SwiftUİ otomatik olarak fill içerik kapanışında görünen öğeler için sembol varyantı swipeActions(edge:allowsFullSwipe:content:) yöntem veya bir sekme görünümünün sekme çubuğu öğeleri olarak.

Doldurma modundan kesinlikle kurtulmak istiyorsanız, kasıtlı olarak zor ama imkansız değil. Sağlanan geçersiz kılmanız gerekir \.symbolVariant ortam değişkeni doğrudan Label eleman, senin içinde tabItem bildiri:

Text("Map!")
  .tabItem {
    Label("Map", systemImage: "map")
      .environment(\.symbolVariant, .none)
  }

Kullanarak .symbolVariant(.none) değiştirici veya görünüm grafiğinde ortam değerini daha yükseğe ayarlamaya çalışmak işe yaramaz.

Artık efektin nasıl geçersiz kılınacağını gördüğünüze göre, yine de sekme çubuğundaki doldurulmuş formları kullanmanızı tavsiye ederim. Sekme çubuğunun çoğu durumda sayfanın geri kalanında artık arka plan rengi farkı olmadığı göz önüne alındığında, doldurulmuş varyantı kullanarak sekme öğelerine verilen ekstra görsel ağırlık, bu öğelere doğru miktarda görsel ağırlık kazandırır.

2021-11-21 20:19:55

Diğer dillerde

Bu sayfa diğer dillerde

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