De ce SwiftUI tabItem systemImage este umplut?

0

Problema

Am selectați systemImage "harta" și "persoană" pentru tabItem, dar imaginile sunt în plină format care trebuie să fie în gol format. Care e motivul?

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 Simboluri: 3.1

enter image description here

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

Cel mai bun răspuns

3

Acest lucru este standard SwiftUI comportamentul în iOS 15, cum se pune în aplicare în mod implicit recomandări de la Apple Human Interface guidelines, care spune tab baruri ar trebui să utilizeze umplut variante de SF Simboluri, în timp ce barele laterale de pe iPad ar trebui să utilizați conturul varianta.

Efectul este realizat prin iOS automat aplicarea .symbolVariant mediul de valoare, după cum sa menționat în simbol variante de documentare:

SwiftUI stabilește o varianta pentru tine în unele medii. De exemplu, SwiftUI se aplică în mod automat fill simbol variantă pentru elementele care apar în conținutul de închidere a swipeActions(edge:allowsFullSwipe:content:) metoda, sau ca bara de tab elemente de TabView.

Dacă absolut doriți pentru a obține plimbare de modul de umplere, este făcut în mod deliberat complicat, dar nu imposibil. Trebuie să suprascrie furnizate \.symbolVariant variabila de mediu direct pe Label element, în interiorul tău tabItem declarație:

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

Folosind .symbolVariant(.none) modificator, sau încearcă să setați mediul valoare mai mare de până vedere grafic, nu va funcționa.

Acum, că știi cum să treci peste efectul, mi-ar recomanda pentru a utiliza formularele completate în bara de tab. Având în vedere că bara de tab-ul nu mai are o culoare de fundal diferența față de restul paginii într-o mulțime de cazuri, în plus vizuale greutate dat la fila elemente de utilizare a umplut varianta dă dreptul de suma de visual greutate la acele elemente.

2021-11-21 20:19:55

În alte limbi

Această pagină este în alte limbi

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