Dlaczego jest pełny obraz systemu SwiftUI TabItem?

0

Pytanie

Wybieram systemowy obraz "mapa" i "człowiek" dla karty, ale zdjęcia są w pełnym formacie, który powinien być w pustym formacie. W czym przyczyna?

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

Konwencje SF: 3.1

enter image description here

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

Najlepsza odpowiedź

3

To jest standardowe zachowanie SwiftUI w iOS 15, ponieważ jest ono domyślnie realizuje zalecenia kierownictwa Apple na ludzkiej interfejsu, w którym czytamy, że na kartach powinny być wypełnione opcje znaków SF, natomiast na bocznych panelach iPad powinien być stosowany wariant ścieżki.

Efekt uzyskuje się poprzez automatyczne aplikacji iOS .symbolVariant wartość środowiska, jak określono w dokumentacji łańcuch znaków:

SwiftUI ustawia dla ciebie opcja w niektórych środowiskach. Na przykład, SwiftUI automatycznie stosuje fill wariant znaku dla elementów, które są wyświetlane w zamknięciu zawartości swipeActions(edge:allowsFullSwipe:content:) metoda lub jako elementy paska zakładek w widoku kart.

Jeśli koniecznie chcesz pozbyć się tryb wypełnienia, to celowo zrobione trudne, ale nie niemożliwe. Należy zastąpić dostarczony \.symbolVariant zmienna środowiskowa bezpośrednio na Label element, wewnątrz tabItem deklaracja:

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

Z pomocą .symbolVariant(.none) modyfikator lub próba ustawić wartość środowiska powyżej na wykresie widoku nie zadziałają.

Teraz, gdy widzisz, jak zastąpić efekt i tak bym radził korzystać z gotowych formularzy na pasku kart. Biorąc pod uwagę, że pasek kart w wielu przypadkach nie różni się kolorem od reszty strony, artykuł wizualny ciężar, przymocowaną do elementów kart za pomocą pełnej wersji, nadaje tym elementom pożądany wizualny ciężar.

2021-11-21 20:19:55

W innych językach

Ta strona jest w innych językach

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