Le modifieur .padding() permet d'ajouter de l'espace alentour d'une vue.
Ce modifieur est très utilisé. Il fait d'ailleurs partie de la vue générée par défaut dans un nouveau projet SwiftUI afin d'assurer qu'aucun texte ne soit collé directement au bord de l'écran.
Lorsqu'il est utilisé sans paramètre, le modifieur .padding() ajoute un espacement égal de chaque côté de la vue.
Text("Hello, world!")
.padding()
.background(Color.yellow)

Il est possible de préciser le ou les côtés où l'espacement doit être ajouté. Les paramètres disponibles à cet effet sont :
Text("Hello, world!")
.padding(.leading)
.background(Color.yellow)

Si vous désirez ajouter un espacement partout sauf en bas :
Text("Hello, world!")
.padding(.horizontal)
.padding(.top)
.background(Color.yellow)
Cette syntaxe est équivalente :
Text("Hello, world!")
.padding([.horizontal, .top])
.background(Color.yellow)

La taille de l'espacement est calculée en points.
Par défaut, SwiftUI utilise une taille qui tient compte du périphérique utilisé.
Vous avec la possibilité de spécifier la taille désirée à l'aide d'un nombre ou d'une variable de type GCFloat.
Text("Hello, world!")
.padding(100)
.background(Color.yellow)

Text("Hello, world!")
.padding(.leading, 50)
.background(Color.yellow)

Text("Hello, world!")
.padding(.horizontal, 100)
.padding(.vertical, 30)
.backgound(Color.yellow)

Text("Hello, world!")
.padding([.horizontal, .top], 75)
.backgound(Color.yellow)

La dimension des espacements peut également être fournie à l'aide d'un paramètre de type EdgeInsets :
Text("Hello, world!")
.padding(EdgeInsets(top: 10, leading: 20, bottom: 30, trailing: 40))
.backgound(Color.yellow)

▼Publicité