web-dev-qa-db-fra.com

Comment accéder à la police système iOS par programme

J'essaye de changer la taille de police du titre d'une barre de navigation. Je sais que je peux définir ses attributs en utilisant:

var attributes = [ NSForegroundColorAttributeName: UIColor.blackColor(), NSFontAttributeName: UIFont(name: "the font name", size: 18)! ]

...

 self.navigationController?.navigationBar.titleTextAttributes = attributes

Ce que je n'arrive pas à trouver, c'est le nom de police 'System' correct.

J'étais après le système par défaut, a.k.a, nom de police. J'ai essayé d'imprimer toutes les polices disponibles pour découvrir qu'elles n'appartiennent pas à une famille et ne semblent pas avoir de nom explicite.

33
goggelj

Je pense que vous avez besoin de:

NSFontAttributeName : UIFont.systemFontOfSize(19.0)

Ou la version audacieuse:

NSFontAttributeName : UIFont.boldSystemFontOfSize(19.0)

Voir ce guide pour plus d'informations sur les directives et les polices de l'interface utilisateur.

79
Roland Keesom

Vous pouvez accéder à la police système comme ceci et même définir le poids de la police:

  • Swift , Swift 4

    UIFont.systemFont(ofSize: 18, weight: UIFontWeightLight)

  • Swift 2

    UIFont.systemFontOfSize(18, weight: UIFontWeightLight)

Pour le poids de la police, vous avez le choix entre ces constantes, disponibles depuis iOS 8.2 :

UIFontWeightUltraLight,
UIFontWeightThin,
UIFontWeightLight,
UIFontWeightRegular,
UIFontWeightMedium,
UIFontWeightSemibold,
UIFontWeightBold,
UIFontWeightHeavy,
UIFontWeightBlack
19
Philippe

Swift 4: version plus courte

UIFont.systemFont(ofSize: 50.0, weight: .regular)
6
Maksim Kniazev

(En ligne avec la réponse de Philippe pour la dernière version)

  • Swift 4

    UIFont.systemFont(ofSize: 18, weight: UIFont.Weight.light)

4
Vincent

Utilisez simplement les méthodes d'UIFont (Swift):

let sysFont: UIFont = UIFont.systemFontOfSize(UIFont.systemFontSize())

J'espère que ça aide!

2
miche.atucha
self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName : UIFont.systemFontOfSize(6)]
2
Sujith Chandran

Essayez le code ci-dessous:

self.navigationController!.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name:"Arial", size:14.0)!, NSForegroundColorAttributeName:UIColor.blackColor()]
0
Aditi Agrawal