Fiche 01.03 — Text, Image, Button et modifiers
Objectif
Comprendre les éléments SwiftUI les plus simples pour afficher du contenu et déclencher une action : Text, Image, Button, et les modifiers.
1. L’idée à comprendre
En SwiftUI, tu construis une interface en assemblant des vues.
Les vues de base les plus fréquentes sont :
Textpour afficher du texte ;Imagepour afficher une image ;Buttonpour déclencher une action ;- les
modifierspour modifier l’apparence ou le comportement d’une vue.
Exemple simple :
Ici :
Buttoncrée le bouton ;.padding()ajoute de l’espace ;.background(.blue)ajoute un fond bleu ;.foregroundStyle(.white)met le texte en blanc ;.clipShape(...)arrondit les coins.
2. Text
Text sert à afficher une chaîne de caractères.
Avec des modifiers :
Exemple dans une vue :
3. Text avec une variable
Tu peux afficher une valeur dynamique dans un Text.
Utilisation :
4. Image
Image sert à afficher une image.
Il y a deux cas fréquents :
- image depuis les assets du projet ;
- image système SF Symbols.
Image depuis les assets
Si tu as une image appelée profile_picture dans tes assets :
Image système
SwiftUI peut afficher des icônes système avec SF Symbols.
Exemple complet :
5. Button
Button sert à déclencher une action.
Version simple :
Version avec contenu personnalisé :
Cette deuxième forme est utile quand le bouton contient plusieurs éléments, comme une icône + un texte.
6. Button avec état SwiftUI
Un bouton modifie souvent un état.
Ici :
isLikedcontient l’état actuel ;- quand on clique,
isLikedchange ; - SwiftUI relit le
body; - l’icône change automatiquement.
7. Les modifiers
Un modifier est une fonction qui transforme une vue.
Exemple :
Chaque ligne modifie la vue précédente.
Tu peux retenir :
8. L’ordre des modifiers compte
L’ordre des modifiers peut changer le résultat.
Exemple 1 :
Ici, le fond jaune couvre le texte + le padding.
Exemple 2 :
Ici, le fond jaune couvre seulement le texte, puis le padding est ajouté autour.
À retenir :
9. Modifiers fréquents
Texte
Taille et espace
Fond et forme
Visibilité et opacité
Interaction
10. Exemple réaliste : carte de profil simple
Utilisation :
11. Label
Label est pratique quand tu veux afficher une icône + un texte.
Exemple dans un bouton :
Exemple dans une tabbar :
En UIKit (rappel)
En UIKit, tu instancies un objet puis tu configures ses propriétés une par une, de façon impérative.
UILabel (équivalent de Text) :
UIImageView (équivalent de Image) :
UIButton (équivalent de Button), avec UIButton.Configuration et une UIAction closure (iOS 16/17) :
Différence clé de mentalité : en UIKit tu modifies des propriétés sur un objet que tu gardes en référence (impératif). En SwiftUI, une vue est une description et tu enchaînes des modifiers qui renvoient une nouvelle vue (déclaratif).
👉 En SwiftUI : Button("Se connecter") { ... }.padding().background(.blue).foregroundStyle(.white) remplace l'instanciation + configuration de propriétés.
12. Points à connaître
Une vue peut être très petite
Tu peux créer un composant juste pour un bouton :
Utilisation :
foregroundStyle est souvent préférable à foregroundColor
Tu verras parfois :
Mais dans les versions modernes de SwiftUI, on utilise souvent :
foregroundStyle est plus flexible, notamment pour gérer des styles plus avancés.
Résumé
À retenir :
Textaffiche du texte ;Imageaffiche une image ou une icône système ;Buttondéclenche une action ;Labelcombine une icône et un texte ;- les modifiers changent l’apparence ou le comportement d’une vue ;
- l’ordre des modifiers compte ;
- une interface SwiftUI se construit en combinant des petites vues simples ;
- dès qu’un morceau d’interface devient réutilisable, tu peux en faire une
Viewdédiée.