【问题标题】:Setting global font in swift快速设置全局字体
【发布时间】:2020-04-18 12:18:21
【问题描述】:

我创建了一个我设置自定义字体的扩展

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)

我没有收到错误消息,字体正在更改。如何准确设置自动的大小

【问题讨论】:

  • 在设置中你必须使用 size: self.font?.pointSize ?? UIFont.labelFontSize

标签: swift


【解决方案1】:

font 属性实际上是隐式展开的UIFont!,因此您应该将set 更改为:

self.font = UIFont(name: newValue, size: self.font?.pointSize ?? UIFont.labelFontSize)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 2013-10-03
    • 1970-01-01
    • 2016-10-05
    相关资源
    最近更新 更多