如何在Swift 4 / Xcode 10.1中通过整个应用程序使用自定义字体?

时间:2019-02-12 06:15:05

标签: ios swift uilabel

我在这里尝试过一些答案,可以为整个应用设置自定义字体,但是似乎没有一个在Xcode 10.1中起作用。我想知道是否有人提出建议?

这是我到目前为止尝试过的;
Using custom font for entire iOS app swift

Set a default font for whole iOS app?

这是一个代码示例:(这仍然为我提供了系统字体)

override func viewDidLoad() {
    super.viewDidLoad()
    UILabel.appearance().font = UIFont(name: "Times New Roman", size: 17)

    let label1 = UILabel(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
    label1.text = "Hello"
    view.addSubview(label1)
}

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用UIFont扩展名

extension UIFont {

   public enum FontWeight {
      //cases are just font family like bold, light, italic
      case .light
   }


   func appFont(weight : FontWeight, size : CGFloat) -> UIFont {
      var fontName = "Times New Roman-"
      switch weight {
         case .light {
             fontName = fontName + "light" // add your family name here
         }
      }
      return UIFont(name: fontName, size: size)!
    }
}

如果有标签

label.font = UIFont.appFont(weight : .light, size : 17)