SwiftUI-Ansichtsmodifikatoren für Label und Button-Stil
Der Artikel behandelt das Erstellen benutzerdefinierter SwiftUI Button- und Label-Stile, darunter ein adaptiver Label-Stil, der bei kompakten horizontalen Größenklassen auf ein vertikales Layout umschaltet, und ein benutzerdefinierter Kapsel-Button-Stil mit einer gefüllten gelben Kapsel und einer Schriftart mit fester Breite. Diese Stile können Ansichten mit den Modifikatoren .labelStyle und .buttonStyle angewendet werden. Es ist jedoch weniger üblich, Convenience-Erweiterungen für LabelStyle oder ButtonStyle zu erstellen, die eine kompaktere Form des Modifikators ermöglichen würden. Um dies zu erreichen, schlägt der Artikel vor, ButtonStyle und LabelStyle zu erweitern, ähnlich wie Apple integrierte Stile definiert. Dies beinhaltet das Hinzufügen einer statischen Eigenschaft oder Funktion zur Erweiterung, die eine Instanz des benutzerdefinierten Stils zurückgibt. Beispielsweise kann der Kapsel-Button-Stil mit einer statischen Eigenschaft capsule erweitert werden, die eine CapsuleButtonStyle-Instanz zurückgibt. Dies ermöglicht die Anwendung des Stils mit der kompakten Form .buttonStyle(.capsule). Wenn der benutzerdefinierte Stil Parameter hat, z. B. eine konfigurierbare Farbe, kann die Erweiterung so modifiziert werden, dass sie eine Funktion enthält, die den Parameter entgegennimmt und eine Instanz des benutzerdefinierten Stils zurückgibt. Dies ermöglicht die Anwendung des Stils mit dem Parameter, z. B. .buttonStyle(.capsule(.orange)). Der Artikel enthält Beispiele dafür, wie ButtonStyle und LabelStyle erweitert werden können, um komfortable benutzerdefinierte Stile zu erstellen.
.labelStyleund.buttonStyleangewendet werden. Es ist jedoch weniger üblich, Convenience-Erweiterungen fürLabelStyleoderButtonStylezu erstellen, die eine kompaktere Form des Modifikators ermöglichen würden. Um dies zu erreichen, schlägt der Artikel vor,ButtonStyleundLabelStylezu erweitern, ähnlich wie Apple integrierte Stile definiert. Dies beinhaltet das Hinzufügen einer statischen Eigenschaft oder Funktion zur Erweiterung, die eine Instanz des benutzerdefinierten Stils zurückgibt. Beispielsweise kann der Kapsel-Button-Stil mit einer statischen Eigenschaftcapsuleerweitert werden, die eineCapsuleButtonStyle-Instanz zurückgibt. Dies ermöglicht die Anwendung des Stils mit der kompakten Form.buttonStyle(.capsule). Wenn der benutzerdefinierte Stil Parameter hat, z. B. eine konfigurierbare Farbe, kann die Erweiterung so modifiziert werden, dass sie eine Funktion enthält, die den Parameter entgegennimmt und eine Instanz des benutzerdefinierten Stils zurückgibt. Dies ermöglicht die Anwendung des Stils mit dem Parameter, z. B..buttonStyle(.capsule(.orange)). Der Artikel enthält Beispiele dafür, wieButtonStyleundLabelStyleerweitert werden können, um komfortable benutzerdefinierte Stile zu erstellen.