2

AppDelegate didFinishLaunchingWithOptionsで、UINavigationBarタイトルのフォントを次のコードに変更しました。

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

縦向きでは問題ありませんが、横向きではフォントサイズが大きすぎます。デバイスを回転させた後にフォントサイズを変更する可能性はありますか?

カスタムtitleViewでこれを解決できると思いますが、別のオプションがあるかどうか疑問に思っています(縦向き/一般的にサイズを小さい数値に設定せずに:))?

私はiOS5用に開発しています。

4

1 に答える 1

1

表示されているViewControllerでこれら2つの方法のいずれかを使用して属性を設定し、デバイスが現在どの方向にあるかに応じてコードを変更します。ViewControllerには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

これを実現する最も簡単な方法は、デバイスが垂直の場合はタイトル属性を1つのスタイルに設定し、デバイスが水平であるために別のスタイルに設定するifステートメントだと思います。

于 2012-05-29T21:35:34.350 に答える