Post

Les Formes dans SwiftUI : Rectangle, Cercle et Capsule

Apprenez à utiliser les formes de base en SwiftUI pour créer des interfaces visuellement attractives et personnalisables.

Les Formes dans SwiftUI : Rectangle, Cercle et Capsule

Les Formes dans SwiftUI : Rectangle, Cercle et Capsule

SwiftUI permet de créer facilement des formes géométriques pour enrichir l’interface utilisateur. Que ce soit pour délimiter une zone, afficher un avatar ou styliser un bouton, les formes comme Rectangle, Circle et Capsule sont simples à utiliser et très puissantes.

Dans cet article, tu vas apprendre à :

  • Utiliser les formes de base
  • Modifier leur apparence (taille, couleur, bordure)
  • Les intégrer à tes composants

🟥 Rectangle

Le Rectangle est une forme simple qui remplit la surface disponible, sauf si on la contraint avec .frame().


1
2
3
Rectangle()
    .fill(Color.red)
    .frame(width: 200, height: 100)

💡 .fill(Color.red) permet de remplir le rectangle avec une couleur rouge.


✅ Avec bordure


1
2
3
Rectangle()
    .stroke(Color.blue, lineWidth: 4)
    .frame(width: 150, height: 80)

💡 .stroke() dessine uniquement le contour, ici en bleu.


⚪ Circle

Le Circle crée un cercle parfait. Il est souvent utilisé pour des avatars, des icônes, ou des effets décoratifs.


1
2
3
Circle()
    .fill(Color.green)
    .frame(width: 100, height: 100)

💡 Si widthheight, le cercle devient une ellipse (ou capsule !).


✅ Avec contour et ombre


1
2
3
4
Circle()
    .stroke(Color.purple, lineWidth: 3)
    .frame(width: 120, height: 120)
    .shadow(radius: 5)


🧼 Capsule

La Capsule est une forme ovale aux bords arrondis, idéale pour les boutons stylisés, les tags, ou les badges.


1
2
3
Capsule()
    .fill(Color.orange)
    .frame(width: 200, height: 60)

💡 Plus la largeur est grande comparée à la hauteur, plus la forme est “capsulée”.


✅ Capsule avec bordure


1
2
3
Capsule()
    .stroke(Color.gray, lineWidth: 2)
    .frame(width: 180, height: 50)


🖼 Combiner Forme + Texte

Tu peux superposer du texte sur une forme avec un ZStack :


1
2
3
4
5
6
7
8
9
ZStack {
    Circle()
        .fill(Color.blue)
        .frame(width: 100, height: 100)

    Text("OK")
        .foregroundColor(.white)
        .font(.headline)
}

💡 C’est parfait pour créer un badge circulaire.


🧠 Astuce : Utiliser .clipShape() avec une forme

Tu peux aussi découper une image ou une vue avec une forme, comme un masque.


1
2
3
4
5
Image("profil")
    .resizable()
    .scaledToFill()
    .frame(width: 100, height: 100)
    .clipShape(Circle())

💡 Combine avec .overlay() et .shadow() pour un effet “avatar stylisé”.


✅ Conclusion

Les formes de base comme Rectangle, Circle et Capsule sont très simples à implémenter, mais extrêmement puissantes pour :

  • Structurer l’interface
  • Mettre en valeur un élément
  • Styliser une image ou un bouton

📌 Prochain article : Dégradés et couleurs personnalisées dans SwiftUI ! 🌈

This post is licensed under CC BY 4.0 by the author.