如何在iOS 9中使用新的旧金山字体?

ale*_*xey 49 fonts ios ios9

iOS 9之前引用我们使用fontWithName的字体UIFont:

[UIFont fontWithName:@"HelveticaNeue" size:18]
Run Code Online (Sandbox Code Playgroud)

现在我们转向iOS 9.如何以相同的方式引用新的旧金山字体

我们可以使用它systemFontOfSizeUIFont,但如何引用其他款式比普通?例如,如何使用San Francisco MediumSan Francisco Light字体?

Mir*_*ekE 116

在iOS 9中它是系统字体,所以你可以这样做:

let font = UIFont.systemFontOfSize(18)
Run Code Online (Sandbox Code Playgroud)

可以直接使用字体名称,但我认为这不安全:

let font = UIFont(name: ".SFUIText-Medium", size: 18)!
Run Code Online (Sandbox Code Playgroud)

您还可以创建具有特定权重的字体,如下所示:

let font = UIFont.systemFontOfSize(18, weight: UIFontWeightMedium)
Run Code Online (Sandbox Code Playgroud)

要么

let font = UIFont.systemFontOfSize(18, weight: UIFontWeightLight)
Run Code Online (Sandbox Code Playgroud)

  • 当然,如果你_really_需要一个字体名称,`let fontName = UIFont.systemFontOfSize(18,weight:UIFontWeightLight).fontName`,这样如果私有名称改变,你会自动检索正确的名称. (6认同)
  • 只是要强调:MirekE是正确的,使用`.SFUIText-Medium`或任何其他确切的San Fransisco名称是不安全的.Apple声称这些名称是私密的,可能会有所变化.他们希望你使用`UIFont`和`NSFont`中内置的系统字体方法,特别是因为他们保留修改系统字体的权利,具体取决于用户的情况. (2认同)

Mar*_*los 5

斯威夫特4

label.font = UIFont.systemFont(ofSize: 22, weight: UIFont.Weight.bold)
Run Code Online (Sandbox Code Playgroud)