我有@IBDesignable
UILabel
个@IBInspectable
属性,其中一个是字体名称。
必须在故事板中键入长复杂的字体名称是单调乏味且容易出错的:
如果可能,我想做的是在代码中有常量,例如:
let Text75Bold = "NHaasGroteskTXStd-75Bd"
这可以在故事板中看到,即:
这可能吗?
供参考,标签代码为:
@IBDesignable class CustomLabel: UILabel {
@IBInspectable override var text: String? {
didSet {
decorate()
}
}
@IBInspectable var fontSize:CGFloat = 15.0 {
didSet {
decorate()
}
}
@IBInspectable var fontColor: UIColor = UIColor.red {
didSet {
decorate()
}
}
@IBInspectable var tracking: Int = 0 {
didSet {
decorate()
}
}
@IBInspectable var fontName: String = Display75Bold {
didSet {
decorate()
}
}
....
答案 0 :(得分:0)
正如我们在评论中所讨论的那样,您可以使用短名称作为键,使用长名称作为值,将简单字符串作为可检查属性使用字典(不可检查)。在该属性的setter中,您可以使用它作为该字典的键来更新字体。