2013-08-17 76 views
5

我想在我的ios應用程序中自定義navigationBar標題的外觀。這是我目前擁有的代碼:防止UiNavigationBar標題被截斷?

NSMutableDictionary *navigationTitleAttributes = [NSMutableDictionary dictionary]; 
[navigationTitleAttributes setValue:[UIColor whiteColor] forKey:UITextAttributeTextColor]; 
[navigationTitleAttributes setValue:[UIColor clearColor] forKey:UITextAttributeTextShadowColor]; 
[navigationTitleAttributes setValue:[NSValue valueWithUIOffset:UIOffsetMake(0.0, 0.0)] forKey:UITextAttributeTextShadowOffset]; 
[navigationTitleAttributes setValue:[UIFont fontWithName:@"Calibri" size:30] forKey:UITextAttributeFont]; 


[[UINavigationBar appearance] setTitleTextAttributes:navigationTitleAttributes]; 
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:-8 forBarMetrics:UIBarMetricsDefault]; 

的代碼產生以下效果:

SCreenshot

它的偉大工程,但我的標題會從底部切斷。

我見過這個問題的解決方案,使用自定義UIView(如這個:UINavigationbar title is cut off when using titleTextAttributes)。但是,該特定解決方案要求爲每個屏幕更新導航欄的titleView屬性。

我想知道是否有一個簡單的解決方案,將級聯通過我的整個應用程序。

謝謝

回答

0

Th簡單的解決方案是不使用這麼大的字體大小。如果將大小設置爲零,則文本應適當自動調整大小。

否則,使用自定義視圖是正確的解決方案。您可以繼承導航控制器或導航欄,以確保所有視圖都以相同方式標記樣式。

+0

字體大小設置爲零來自動調整大小的文本是一個偉大的小費,效果很好。 – Paludis