我正在尝试在Swift的iOS应用中更改字体。我目前正在使用:
var size:CGFloat = 16
UILabel.appearance().font = UIFont(name: "Gudea", size: size)
我的应用中的每个UILabel
都会更改为正确的字体。但是,尽管Main.Storyboard
中分配了不同的尺寸,但所有标签都更改为尺寸16。
有没有办法为每个UILabel
分配字体而不更改Main.Storyboard
中分配的尺寸?
或者,或许,
是否有更好的方法来更改整个应用中使用的字体?
谢谢!
答案 0 :(得分:2)
我的解决方案是扩展UIFont并以编程方式设置我的标签。
UIFontExtension.swift:
extension UIFont {
class func myFontName() -> String { return "Gudea" }
class func myBoldFontName() -> String { return "Gudea-Bold" }
class func myNormalFont() -> UIFont {
return UIFont(name: UIFont.myFontName(), size: 12)!
}
class func mySmallBoldFont() -> UIFont {
return UIFont(name: UIFont.myBoldFontName(), size: 10)!
}
}
MyViewController.swift:
myLabel.font = UIFont.myNormalFont()
mySmallLabel.font = UIFont.mySmallBoldFont()