小编cro*_*cro的帖子

使用Swift 4根据当前字体粗细更改应用程序中的所有UILabel字体

在Swift 3中,我使用以下命令在AppDelegate中将所有BOLD字体替换为MEDIUM:

UILabel.appearance().substituteFontNameBold = "HelveticaNeue-Medium"
Run Code Online (Sandbox Code Playgroud)

并将此扩展添加到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)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在升级到Swift 4时,出现“ 致命错误:在展开可选值时意外发现nil

if self.font.fontName.contains("Bold") {
Run Code Online (Sandbox Code Playgroud)

如何继续用Swift 4替换标签中从BOLD到MEDIUM的所有字体?

fonts uilabel ios swift swift4

4
推荐指数
2
解决办法
2276
查看次数

标签 统计

fonts ×1

ios ×1

swift ×1

swift4 ×1

uilabel ×1