2015-11-01 70 views
10

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

我不想设置这个持久的,只有当一个布尔值为假。

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

不幸的是,我的方法不能使用这种字体。

是否有人在swift中知道“SF UI Display Bold”字体的正确标题?

谢谢!

+0

钍e SF的显示变体用于文本的大型显示。不适用于iPhone标签。 – Fogmeister

回答

34

理论上你可以直接调用字体名称来使用字体。该字体的字体名称是.SFUIDisplay-Bold

然而,苹果不鼓励这种方法,并说这些字体名称是私人的,随时都可能改变。

使用旧金山字体官方的方法是调用systemFont自动给你旧金山字体:

let font = UIFont.systemFontOfSize(17) 

为了得到从轻或较粗的字体,你可以请求字体粗细:

let mediumFont = UIFont.systemFontOfSize(17, weight: UIFontWeightMedium) 
let lightFont = UIFont.systemFontOfSize(17, weight: UIFontWeightLight) 
let boldFont = UIFont.systemFontOfSize(17, weight: UIFontWeightBold) 

有一吨的字体粗细的选择:

UIFontWeightUltraLight 
UIFontWeightThin 
UIFontWeightLight 
UIFontWeightRegular 
UIFontWeightMedium 
UIFontWeightSemibold 
UIFontWeightBold 
UIFontWeightHeavy 
UIFontWeightBlack 
+11

值得注意的是,系统会根据您请求的磅数自动为您选择显示或文字变体。根据WWDC演示文稿,如果您请求尺寸小于20的系统字体,您将获得文本变体,如果您请求尺寸大于等于20的系统字体,您将获得显示变体。 –