5 votes

Comment faire en sorte que les symboles SF dans SwiftUI aient la même largeur ?

Existe-t-il un moyen de faire en sorte que tous les symboles de la même taille aient la même largeur ?

Comme vous pouvez le voir sur la capture d'écran ci-dessous, person.2.fill a la plus grande largeur et square.and.arrow.up est le plus proche. Le fait de définir une police à espacement unique ne semble rien changer dans ce cas.

Image(systemName: "square.and.arrow.up")
    .font(Font.system(size: 18, weight: .medium, design: .monospaced))

Une solution serait de ne pas les "forcer" à avoir la même largeur mais de les centrer horizontalement à l'intérieur du conteneur de même largeur.

enter image description here

1voto

Xinyang Li Points 4108

Une solution de contournement pour ce problème. Toutefois, le problème est qu'elle ne fonctionne pas bien avec le dimensionnement dynamique des polices.

HStack {
    Image(systemName: "square.and.arrow.up")
        .font(Font.system(size: 18, weight: .medium, design: .monospaced))
        .foregroundColor(Color("secondary"))
}
.frame(minWidth: 30)

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X