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.