68 votes

Comment définir un poids pour les symboles SF pour iOS 13 ?

J'ai ceci

Image(systemName: "arrow.right")

Mais comment puis-je le rendre gras, semi-gras, etc.

J'utilise le nouveau SwiftUI.

111voto

EmilioPelaez Points 3561

Lorsque vous utilisez le font définit un poids pour la police que vous passez.

Par exemple, si vous souhaitez utiliser l'un des styles de texte par défaut (que je recommande, car ils s'adaptent au paramètre Dynamic Type de l'utilisateur), vous pouvez procéder comme suit :

Image(systemName: "arrow.right")
  .font(Font.title.weight(.ultraLight))

Si vous voulez spécifier une taille de police, vous pouvez le faire comme suit :

Image(systemName: "arrow.right")
  .font(Font.system(size: 60, weight: .ultraLight))

0 votes

J'ai essayé ceci, mais cela semble changer la taille et non le poids (gras, léger, semi-gras, etc.). A moins que j'aie mal compris ?

0 votes

C'est ma faute, c'est moi qui ai mal compris. J'ai mis à jour ma réponse.

0 votes

Pour la taille par défaut, ce serait Font.body.weight(.ultraLight) (par exemple, dans les éléments de la barre de navigation) ( tous les poids de police )

55voto

Hejazi Points 5981

Pour UIKit, les symboles peuvent être configurés comme suit :

UIImage(systemName: "arrow.right",
        withConfiguration: UIImage.SymbolConfiguration(pointSize: 16, weight: .bold))

27voto

Mark Moeykens Points 3494

SwiftUI 1.0

Je voulais juste mentionner également comment modifier le poids en même temps que la taille de la police personnalisée.

HStack(spacing: 40) {
    Image(systemName: "moon.zzz")
        .font(Font.system(size: 60, weight: .ultraLight))
    Image(systemName: "moon.zzz")
        .font(Font.system(size: 60, weight: .light))
    Image(systemName: "moon.zzz")
        .font(Font.system(size: 60, weight: .regular))
    Image(systemName: "moon.zzz")
        .font(Font.system(size: 60, weight: .bold))
}

Example of Font Size and weight

0 votes

Cela devrait être la réponse acceptée, je pense, puisque la question porte sur SwiftUI et qu'elle définit l'attribut .system pas la police .title ce qui pourrait interférer avec d'autres styles.

11voto

Trev14 Points 916

UIKit -- Swift 5 -- Xcode 11

Si vous sólo pour définir le poids (afin de ne pas perturber la taille de l'icône automatique), procédez comme suit :

let configuration = UIImage.SymbolConfiguration(weight: .semibold)
UIImage(systemName: "trash", withConfiguration: configuration)

9voto

Gary Mansted Points 116

UIKit SWIFT 5.x

Pour définir leurs attributs : créez une configuration puis passez-la en paramètre :

let imageConfig = UIImage.SymbolConfiguration(pointSize: 22, weight: .black, scale: .large)
let image = UIImage(systemName: "delete.right", withConfiguration: imageConfig)

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