web-dev-qa-db-fra.com

UIFont - comment obtenir une police fine du système

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 dans le storyboard?

Passer de "system-thin" à UIFont Contructor ne fonctionne pas, ce constructeur ne fonctionne que pour les polices non-système. 

84
ByteArtisan

Vous pouvez utiliser la police de système poids fin:

UIFont.systemFont(ofSize: 34, weight: UIFontWeightThin)

Liste des poids disponibles pour San Francisco:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
UIFontWeightBlack

san francisco font weights

À partir d'iOS 11,UIFontWeight* a été renommé en UIFont.Weight.*. Plus vous pouvez obtenir ici https://developer.Apple.com/documentation/uikit/uifont.weight .

238
s1ddok

De plus, si vous souhaitez conserver la même taille de police et modifier le poids, utilisez la taille de police de l'élément ciblé. Par exemple:

demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)

avec cela, vous pouvez conserver la taille de police de l'étiquette par défaut et simplement modifier le poids.

À partir d'iOS 11, UIFontWeightThin a été renommé en UIFont.Weight.thin. Plus vous pouvez obtenir ici https://developer.Apple.com/documentation/uikit/uifont.weight

7
GrandFelix

Swift 4.2

 label.font = UIFont.systemFont(ofSize: 15, weight: UIFont.Weight.thin)
0
Pranit