#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. Это именно то, чего я хочу! Спасибо тебе, Кономае!