Как изменить значок «заполнено» на «не заполнено» в TabView TabItem в iOS 15 Xcode 13?

#ios #xcode #icons #tabview #sf-symbols

Вопрос:

Как я могу изменить значок «заполнено» на «не заполнено» на вкладке TabView в iOS 15 Xcode 13?

Теперь кажется, что значки заполнены по умолчанию…

Мой код :

 import SwiftUI

struct Test_Home_V: View {
    var body: some View {
        TabView {
            HomeList_V()
                .tabItem {
                    Label("_HomeTitle", systemImage: "house")
                }
...

 

Примечание : С iOS 15 вы не должны явно запрашивать заполненный вариант значков символов SF, потому что система автоматически будет использовать их по мере необходимости.

Итак, как я могу получить свои значки (символы SF) в общих чертах, как и раньше?

Спасибо

Ответ №1:

Чтобы решить эту проблему, мы можем использовать environment(.symbolVariants, .none) .

https://developer.apple.com/documentation/swiftui/symbolvariants/none

Использование этого варианта с модификатором symbolVariant(:) не имеет никакого эффекта. Вместо этого, чтобы отобразить символ, который игнорирует текущий вариант, напрямую установите значение среды symbolVariants равным none, используя модификатор среды(:_:) :

 import SwiftUI

struct ContentView: View {
    var body: some View {
        TabView {
            Text("content")
                .tabItem {
                    Label("tab", systemImage: "creditcard")
                }
            
            Text("content")
                .tabItem {
                    Label("tab", systemImage: "creditcard")
                        .environment(.symbolVariants, .none) // here
                }
        }
    }
}
 

Результат:

Результат

Комментарии:

1. Это именно то, чего я хочу! Спасибо тебе, Кономае!