Por SwiftUI tabItem systemImage é preenchido?

0

Pergunta

I seleccione o systemImage "mapa" e "pessoa" para o tabItem, mas as imagens são em cheio o formato que deve ser em formato de oca. Qual é a razão?

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 Símbolos: 3.1

enter image description here

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

Melhor resposta

3

Este é o padrão SwiftUI comportamento no iOS 15, como ele implementa, por padrão, as recomendações da Apple Human Interface Guidelines, que diz barras de guia deve usar cheio de variantes de SF Símbolos, enquanto barras laterais no iPad deve usar a estrutura variante.

O efeito é conseguido com o iOS aplicando automaticamente a .symbolVariant valor de ambiente, como observado no símbolo variantes documentação:

SwiftUI define uma variante para você em alguns ambientes. Por exemplo, SwiftUI aplica automaticamente a fill símbolo variante para os itens que aparecem no conteúdo do encerramento do swipeActions(edge:allowsFullSwipe:content:) o método, ou como a barra de itens de uma TabView.

Se você realmente deseja obter o passeio do modo de preenchimento, é deliberadamente feita complicado, mas não impossível. Você tem que substituir o fornecido \.symbolVariant variável de ambiente diretamente no Label elemento, dentro da sua tabItem declaração:

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

Usando o .symbolVariant(.none) modificador, ou tentando definir o ambiente de valor superior a visualizar o gráfico, não vai funcionar.

Agora que você consulte como substituir o efeito, eu ainda aconselho a usar os formulários preenchidos na barra de separadores. Dado que a barra não tem um plano de fundo cor de diferença para o resto da página, em muitos casos, o aumento do peso visual dada a guia itens pelo uso da cheia variante empresta a quantidade certa de peso visual para esses elementos.

2021-11-21 20:19:55

Em outros idiomas

Esta página está em outros idiomas

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