iOS | 为 xib 添加 UIFont 支持

直接给 view 添加 UIFont 属性 xib 面板里是没有显示的,但是可以通过一些简单的手段让 xib 面板间接支持设置 UIFont

分析

UIFont 由两部分构成:name + size

let font = UIFont(name: "HelveticaNeue-Medium", size: 30)

xib 面板不支持 UIFont,但支持 StringCGFloat,因此我们可以给自定义 view 添加 fontNamefontSize 这两个属性:

@IBInspectable var fontName: String = "HelveticaNeue-Medium" {
    didSet {
        label.font = UIFont.init(name: fontName, size: fontSize)
    }
}

@IBInspectable var fontSize: CGFloat = 12 {
    didSet {
        label.font = UIFont.init(name: fontName, size: fontSize)
    }
}

通过对这两个属性赋值,达到修改 font 的效果。

效果

推荐阅读更多精彩内容