如何在动态大小的Swift中更改iOS应用程序的字体?

时间:2015-06-04 23:51:51

标签: ios swift fonts uilabel

我正在尝试在Swift的iOS应用中更改字体。我目前正在使用:

 var size:CGFloat = 16

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

我的应用中的每个UILabel都会更改为正确的字体。但是,尽管Main.Storyboard中分配了不同的尺寸,但所有标签都更改为尺寸16。

有没有办法为每个UILabel分配字体而不更改Main.Storyboard中分配的尺寸?

或者,或许,

是否有更好的方法来更改整个应用中使用的字体?

谢谢!

1 个答案:

答案 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()