2015-11-01 71 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的系統字體,您將獲得顯示變體。 –