Swift 4 - 是否可以为Project或App委托文件中的所有按钮和标签设置Avenir字体

时间:2017-10-12 11:40:02

标签: ios swift fonts

是否可以为Project或App委托文件中的所有按钮和标签设置Avenir字体。我想要一个常见的地方,我可以设置一次字体,以便它在所有故事板中更改。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

是的,这是可能的。

对于UILabel,您可以使用UIAppearance

解决此问题

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

对于UIButton而言,它并不像UILabel那么简单,但您始终可以使用继承

class MyButton: UIButton {
    override var titleLabel: UILabel?  {
        get {
            let label = super.titleLabel
            label?.font = UIFont(name: "Avenir", size: 17)!
            return label
        }
    }
}