2017-04-24 2 views
1

je voulais changer la police par défaut de l'application, donc je l'ai faitChanger la taille de UILabel change son nom de la police

UILabel.appearance().font = UIFont(name: "PartyLetPlain", size: 17)

dans le AppDelegate et cela a fonctionné comme prévu jusqu'à ce que j'essayé de changer la taille des caractères.

J'ai essayé de changer la taille de la police comme si

categoryName.font = UIFont(name: categoryName.font.fontName, size: 17) 

ou categoryName.font.fontWithSize(20)

Après avoir changé la police tailles, il change la fontName et imprimé ce nom de la police .SFUIText si juste pour un changement que je commentais le

UILabel.appearance().font = UIFont(name: "PartyLetPlain", size: 17)

du AppDelegate et changé la police de storyboard et a bien fonctionné même après avoir changé la taille de la police.

Comment résoudre ce problème?

Répondre

0

.SFUIText est le système par défaut police donc vous obtenez le même résultat lorsque vous assignez.

Apparence ne modifie pas les propriétés une fois qu'elles sont dans la fenêtre. Créez une classe d'étiquette personnalisée et utilisez-la.

Ou simplement utiliser votre police UIFont(name: "PartyLetPlain", size: 17) pour changer la taille de la police. ça va marcher.

Pour vérifier l'apparence s'il vous plaît lien https://developer.apple.com/reference/uikit/uiappearance

+0

ya donc comment garder la même police que je mets dans le monde pour le UILabel? –

+0

Votre solution est exacte UILabel.appearance(). Font = UIFont (nom: "PartyLetPlain", taille: 17). Mais l'apparence ne change pas les propriétés une fois qu'elles sont dans la fenêtre. chaque fois que vous voulez changer la police, utilisez UIFont complet (nom: "PartyLetPlain", taille: 17) pour définir comme apparence ne va pas travailler. Ou vous pouvez créer une classe d'étiquettes personnalisées et l'utiliser. – AkBombe