Label
Mit Label
erhält SwiftUI in Xcode 12 eine neue praktische View, die sich aus einem Bild und einem Text zusammensetzt. Es mag so gesehen keine sonderlich aufregende neue SwiftUI-View sein. Sie übernimmt aber eine Rolle, die sicher viele App-Entwickler bereits bis heute oft hätten gut gebrauchen können.
Die Einfachheit des Labels
Denn der große Vorteil von Label
liegt in seiner Einfachheit (wie bei so vielen Dingen in SwiftUI). Letztlich gibt man bei der Initialisierung eines Label
zwei Informationen an:
- Den Text des Labels.
- Das Image des Labels.
Im einfachsten Fall nutzt man so einen String und den Verweis auf eine SF-Symbols-Grafik, um ein Label
zu erzeugen:
Label("Book", systemImage: "book.fill")
Neben SF Symbols-Grafiken lassen sich auch eigene Bilder aus Asset Catalogs im Zusammenspiel mit Label
einsetzen. Die View bringt zu diesem Zweck passende Initializer mit, die statt eines systemImage
-Parameters einen image
-Parameter erwarten.
Flexibilität
Wer besonders kreativ sein möchte, hat auch die Chance, ganz eigene Views sowohl für den Text als auch die Grafik eines Labels zurück zu liefern. Dazu kommt der Initializer init(title:icon:)
zum Einsatz, ein Beispiel zu dessen Anwendung findet ihr im folgenden Listing.
Label {
Text("Thomas")
.font(.body)
.foregroundColor(.primary)
Text("Sillmann")
.font(.subheadline)
.foregroundColor(.secondary)
} icon: {
Circle()
.fill(Color.blue)
.frame(width: 44, height: 44)
}
Styling
Auf Wunsch könnt ihr die sichtbaren Komponenten eines Labels auch anpassen. Dazu nutzt ihr den labelStyle(_:)
-Modifier und übergebt eine Instanz von einem der folgenden Typen:
TitleOnlyLabelStyle
: Nur der Titel des Labels wird angezeigt.IconOnlyLabelStyle
: Nur die Grafik eines Labels wird angezeigt.
Eine beispielhafte Anwendung des labelStyle(_:)
-Modifiers findet ihr im folgenden Listing:
Label("Book", systemImage: "book.fill")
.labelStyle(IconOnlyLabelStyle())
Fazit
Label
mag kein weltbewegendes neues View-Element in SwiftUI sein. Es ist nichtsdestotrotz eine sehr gelungene Ergänzung und erleichtert das Entwicklerleben an vielen Stellen. Schließlich ist ein Zusammenspiel von Grafik und Text etwas, das man als Entwickler bisweilen häufig und an vielen Stellen benötigt.
Euer Thomas
Schreibe einen Kommentar