При изменении размера UILabel изменяется имя шрифта

Я хотел изменить шрифт приложения по умолчанию, поэтому сделал

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

в AppDelegate, и он работал должным образом, пока я не попытался изменить размер шрифта.

Я пробовал изменить размер шрифта вот так

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

or categoryName.font.fontWithSize(20)

После изменения размеров шрифта он изменяет fontName и напечатал это имя шрифта .SFUIText, поэтому просто для изменения я прокомментировал

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

из AppDelegate и изменил шрифт из раскадровки и хорошо работал даже после изменения размера шрифта.

Как решить эту проблему?


person Anirudha Mahale    schedule 24.04.2017    source источник


Ответы (1)


.SFUIText - это системный шрифт по умолчанию, поэтому при назначении вы получаете тот же результат.

Внешний вид не изменяет свойства, когда они находятся в окне. Создайте собственный класс меток и используйте его.

Или просто используйте свой шрифт UIFont(name: "PartyLetPlain", size: 17), чтобы изменить размер шрифта. это будет работать.

Для внешнего вида проверьте ссылку https://developer.apple.com/reference/uikit/uiappearance

person AkBombe    schedule 24.04.2017
comment
да, так как сохранить тот же шрифт, который я установил глобально для UILabel? - person Anirudha Mahale; 25.04.2017
comment
Ваше решение правильное. UILabel.appearance (). Font = UIFont (name: PartyLetPlain, size: 17). Но внешний вид не меняет свойства, когда они находятся в окне. всякий раз, когда вы хотите изменить шрифт, используйте полный UIFont (name: PartyLetPlain, size: 17), чтобы настроить внешний вид, который не будет работать. Или вы можете создать собственный класс меток и использовать его. - person AkBombe; 25.04.2017