Modificateurs de vue SwiftUI : style des étiquettes et des boutons
L'article explique comment créer des styles personnalisés pour les boutons et les étiquettes SwiftUI, notamment un style d'étiquette adaptatif qui bascule vers une disposition verticale pour les classes de taille horizontale compactes, et un style de bouton en capsule personnalisé avec une capsule jaune pleine et une police monospace. Ces styles peuvent être appliqués aux vues à l'aide des modificateurs .labelStyle et .buttonStyle. Cependant, il est moins courant de créer des extensions de commodité sur LabelStyle ou ButtonStyle, ce qui permettrait une forme plus compacte du modificateur. Pour y parvenir, l'article suggère d'étendre ButtonStyle et LabelStyle, de manière similaire à la façon dont Apple définit les styles intégrés. Cela implique l'ajout d'une propriété ou d'une fonction statique à l'extension qui renvoie une instance du style personnalisé. Par exemple, le style de bouton en capsule peut être étendu avec une propriété statique capsule qui renvoie une instance de CapsuleButtonStyle. Cela permet d'appliquer le style en utilisant la forme compacte .buttonStyle(.capsule). Si le style personnalisé possède des paramètres, comme une couleur configurable, l'extension peut être modifiée pour inclure une fonction qui prend le paramètre et renvoie une instance du style personnalisé. Cela permet d'appliquer le style avec le paramètre, par exemple .buttonStyle(.capsule(.orange)). L'article fournit des exemples de la manière d'étendre ButtonStyle et LabelStyle pour créer des styles personnalisés pratiques.
.labelStyleet.buttonStyle. Cependant, il est moins courant de créer des extensions de commodité surLabelStyleouButtonStyle, ce qui permettrait une forme plus compacte du modificateur. Pour y parvenir, l'article suggère d'étendreButtonStyleetLabelStyle, de manière similaire à la façon dont Apple définit les styles intégrés. Cela implique l'ajout d'une propriété ou d'une fonction statique à l'extension qui renvoie une instance du style personnalisé. Par exemple, le style de bouton en capsule peut être étendu avec une propriété statiquecapsulequi renvoie une instance deCapsuleButtonStyle. Cela permet d'appliquer le style en utilisant la forme compacte.buttonStyle(.capsule). Si le style personnalisé possède des paramètres, comme une couleur configurable, l'extension peut être modifiée pour inclure une fonction qui prend le paramètre et renvoie une instance du style personnalisé. Cela permet d'appliquer le style avec le paramètre, par exemple.buttonStyle(.capsule(.orange)). L'article fournit des exemples de la manière d'étendreButtonStyleetLabelStylepour créer des styles personnalisés pratiques.