在 Swift 3中,我使用以下内容替换AppDelegate中BOLD到MEDIUM中的所有字体: UILabel.appearance().substituteFontNameBold = "HelveticaNeue-Medium" 并通过将此扩展添加到UILabel: extension UILabel { var substituteFontN
UILabel.appearance().substituteFontNameBold = "HelveticaNeue-Medium"
并通过将此扩展添加到UILabel:
extension UILabel {
var substituteFontNameBold : String {
get { return self.font.fontName }
set {
if self.font.fontName.contains("Bold") {
self.font = UIFont(name: newValue, size: self.font.pointSize)
}
}
}
}
随着升级到Swift 4,我得到一个“致命的错误:在打开一个Optional值时意外发现nil”
if self.font.fontName.contains("Bold") {
如何继续使用Swift 4替换标签中BOLD到MEDIUM中的所有字体?
我找到了解决方法,你基本上必须添加@objc才能使它工作,添加后不再有nil值@objc public var substituteFontName : String
