2012-05-29 83 views
2

我改變了UINavigationBar的標題的字體用下面的代碼,在AppDelegate的didFinishLaunchingWithOptions:UINavigationBar的:更改標題的大小後旋轉

[[UINavigationBar appearance] setTitleTextAttributes: 
    [NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Arial-BoldMT" size:24.0], UITextAttributeFont, nil]]; 

在肖像它是好的,但在景觀的字體大小是太大。 旋轉設備後是否有可能更改字體大小?

我想我可以用自定義titleView解決這個問題,但我想知道是否有另一個選項(沒有將大小設置爲肖像/一般情況下的較小數字:))?

我正在開發的iOS 5

回答

1

使用可見光視圖控制器這兩種方法之一取決於設備當前處於什麼方位修改代碼設置你的屬性。您的視圖控制器需要一個指針到UINavigationController變量。

視圖之前右稱爲

方法旋轉: 視圖後立即叫- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

方法旋轉:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

上的ViewController方法的詳細信息可以在這裏找到:

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html

我會認爲完成這個最簡單的方法是if語句,如果設備是垂直的,則將標題屬性設置爲一種樣式,否則設置爲另一種樣式,因爲設備是水平的。