我创建了一个扩展,在其中我设置了自定义字体
extension UILabel {
var substituteFontName : String {
get { return self.font.fontName }
set {
self.font = UIFont(name: newValue, size: self.font.pointSize)
}
}
}
但我有一个问题:我得到了一个错误Unexpectedly found nil while unwrapping an Optional value
,但如果我设置像这个这样的静态大小
self.font = UIFont(name: newValue, size: 13)
我没有收到错误,字体正在更改。我如何设置自动的确切大小
font
属性实际上是隐式展开的UIFont!
,因此您应该将set
更改为:
self.font = UIFont(name: newValue, size: self.font?.pointSize ?? UIFont.labelFontSize)