2017-06-23 80 views
0

當我在故事板中時,導航欄標題在故事板中以粗體顯示爲默認值,但是當您在模擬器和設備中運行應用程序時,它不是粗體。令人煩惱的是,無法從界面構建器更改字體大小。導航欄標題不是粗體

下面您可以看到界面生成器和模擬器上顯示的內容之間的區別。

界面生成器: Interface Builder

模擬器: enter image description here

我知道,我可以用這樣的更改字體:self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "YOUR-FONT-NAME-WEIGHT", size: 24)! 這將是完美的,但我想保持字體默認的SF字體。

有沒有解決方法呢?爲什麼會發生這種情況?

+0

看起來像一個錯誤 - 你在設備上測試過嗎?最終這就是你所關心的。 –

+0

是的,它也在設備上。檢查編輯 – daanyyaal

+0

使用此(轉換爲Swift):UIFont * font = [UIFont systemFontOfSize:24.0f weight:UIFontWeightBold]; –

回答

3

使用此代碼在您的viewDidLoad改變字體大小

self.navigationController?.navigationBar.titleTextAttributes = [ 
    NSFontAttributeName: UIFont.systemFont(ofSize: 20, weight: UIFontWeightHeavy) 
] 

在模擬器,它看起來像 enter image description here

有了這樣的代碼之前,它看起來像enter image description here

0

只需使用UIFont.systemFont即可獲取默認的SF字體。

self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont.systemFont(ofSize:24, weight: .bold)] 
0

斯威夫特4:

self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 20, weight: UIFont.Weight.heavy)]