2012-10-22 111 views
1

我決定自定義導航欄設計的正確方法。我的導航欄的標題應該與自定義字體「DIN簡明」有大小23鍵入所以我寫了這個代碼:如何更改UINavigationBar標題標籤大小?

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigation_background.png"] 
           forBarMetrics:UIBarMetricsDefault]; 

[[UINavigationBar appearance] setTitleTextAttributes:@{ 
          UITextAttributeTextColor: [UIColor whiteColor], 
          UITextAttributeFont: [UIFont fontWithName:@"PFDinTextCondPro-Bold" size:23] 
}]; 

不過貌似標題標籤不能用這種字體適合文本:

title label size

如何使用外觀API更改UINavigationBar標題的大小?我想避免使用自定義titleView。

回答

4

無法更改其字體大小。至少不是我所知道的。導航欄會自動調整默認標題標籤的字體大小以適應縱向或橫向。

因此,您需要一個自定義標題視圖。但它很簡單;只需將導航項目的titleView設置爲您的標籤即可。

例多行:UINavigationBar multi-line title

示例使用單線,但不同的字體:https://stackoverflow.com/a/10171426/894671

祝你好運!

+0

謝謝你,Guntis。 –

0

您是否試過setTitlePositionAdjustment解決此問題?如果這不起作用,我認爲最好的辦法是讓你有一個UILabel自定義您想要的字體,並使用它作爲導航欄的titleView(自定義視圖)屬性。

+0

是的,我試過了。它沒有幫助。看起來沒有其他方式比自定義視圖。謝謝。 –

0

在故事板中設置標題字體。

  1. 檢查的UINavigationController
  2. 打開其UINavigationBar的
  3. 設置標題字體標題下的文本屬性。

現在它不應該削減你的標題標籤。