Por qué SwiftUI tabItem systemImage se llena?

0

Pregunta

Yo seleccione el systemImage "mapa" y "persona" para el tabItem, pero las imágenes están en el llenado del formato que debe ser en el hueco de formato. ¿Cuál es la razón?

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

Mejor respuesta

3

Esta es la norma SwiftUI comportamiento en iOS 15, como se implementa por defecto, las recomendaciones de Apple Humanos de las Directrices de Interfaz, lo que dice la ficha barras debe utilizar lleno de variantes de SF Símbolos, mientras que las barras laterales en el iPad debe utilizar el esquema de la variante.

El efecto se logra por iOS la aplicación automática de la .symbolVariant el valor de entorno, como se señaló en el símbolo de las variantes de la documentación:

SwiftUI establece una variante para usted en algunos entornos. Por ejemplo, SwiftUI aplica automáticamente el fill símbolo de la variante de los elementos que aparecen en el contenido de cierre de la swipeActions(edge:allowsFullSwipe:content:) método, o como la ficha de los elementos de la barra de un TabView.

Si usted no desea conseguir paseo del relleno modo, es deliberadamente difícil, pero no imposible. Usted tiene que reemplazar el adaptador de \.symbolVariant la variable de entorno directamente en el Label elemento, dentro de su tabItem declaración:

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

El uso de la .symbolVariant(.none) modificador, o tratando de establecer el entorno de valor más alto en la vista de gráfico, no funcionará.

Ahora que usted vea cómo anular el efecto, que aún le recomendamos el uso de los formularios completados en la barra de pestañas. Dado que la barra de pestañas ya no tiene un color de fondo de la diferencia para el resto de la página, en muchos casos, el exceso de peso visual dado a los elementos de ficha por el uso de llenado de la variante da la cantidad correcta de peso visual de los elementos.

2021-11-21 20:19:55

En otros idiomas

Esta página está en otros idiomas

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