将"SF UI Display Bold"设置为标签字体

Seb*_*alm 15 fonts ios swift ios9

我将标签的字体设置为SF UI Display Bold时出现问题.

我不想设置这种持久性,只有当布尔值为假时.

if (value.messageReaded == false) {
    cell.subjectLabel?.font = UIFont(name:"SF UI Display Bold", size: 17.0)
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的方法不适用于这种字体.

有人在swift中知道"SF UI Display Bold"字体的正确标题吗?

谢谢!

joe*_*ern 43

从理论上讲,您可以通过直接调用其字体名称来使用该字体.该字体的字体名称是.SFUIDisplay-Bold.

但Apple拒绝采用这种方法,并表示这些字体名称是私密的,并且可能随时更改.

使用旧金山字体的官方方式是调用systemFont,它会自动为您提供旧金山字体:

let font = UIFont.systemFont(ofSize: 17)
Run Code Online (Sandbox Code Playgroud)

要获得更轻或更大胆的字体,您可以请求字体粗细:

let mediumFont = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.medium)
let lightFont = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.light)
let boldFont = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.bold)
Run Code Online (Sandbox Code Playgroud)

有大量的字体粗细可供选择:

UIFont.Weight.ultraLight
UIFont.Weight.thin
UIFont.Weight.light
UIFont.Weight.regular
UIFont.Weight.medium
UIFont.Weight.semibold
UIFont.Weight.bold
UIFont.Weight.heavy
UIFont.Weight.black
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,系统会根据您请求的磅值自动为您选择显示或文本变体.根据WWDC演示文稿,如果您请求大小<20的系统字体,您将获得Text变体,如果您请求大小> = 20的系统字体,您将获得Display变体. (15认同)
  • 对于小于20的字体,是否有任何简便的方法来获得“ SF UI显示”? (3认同)