UIFont
a des méthodes pour obtenir une police régulière ( systemFontOfSize
) ou une police en gras ( boldSystemFontOfSize
), mais comment obtenir une "police système mince" disponible via le storyboard?
Le fait de passer «système-thin» à UIFont
Contructor ne fonctionne pas, ce constructeur ne fonctionne que pour les polices non système.
Depuis iOS 8.2 , vous pouvez désormais utiliser
UIFont.systemFontOfSize(_ fontSize: CGFloat, weight weight: CGFloat)
:UIFont.systemFontOfSize(19, weight: UIFontWeightLight)
Le SDK iOS a fourni des constantes pour les pondérations:
L'utilisation de la police système est préférable à la création d'une police basée sur le nom de la police lorsque vous souhaitez utiliser des polices système, car iOS peut modifier leurs polices système sur iOS (comme quand ils l'ont fait avec Helvetica Neue dans iOS 7, et maintenant, San Francisco dans iOS 9) .
Donc, ce que je suggérerais est d'inclure le fichier TTF de la police que vous souhaitez utiliser comme fichier ttf comme police personnalisée et d'utiliser la police personnalisée dans votre application.
C'est la raison particulière pour laquelle je n'aime pas Apple. Ne faites jamais ce que dit Apple. Faites toujours ce que nous voulons. Apple continue de changer la police par défaut pour chaque système d'exploitation.
la source
Aussi, si vous souhaitez conserver la même taille de police et simplement modifier le poids, utilisez la taille de police de l'élément ciblé. Par exemple:
avec cela, vous pouvez conserver la taille de police d'étiquette par défaut et simplement changer le poids.
À partir d'iOS 11, UIFontWeightThin a été renommé
UIFont.Weight.thin
. Vous pouvez en savoir plus ici https://developer.apple.com/documentation/uikit/uifont.weight .la source
Swift 4.2
la source