0

私の applicationDidFinishLaunching では、UINavigationController をセットアップしました。

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    navController = [[UINavigationController alloc] init];
    [[navController navigationBar] setFrame:CGRectMake(0.0,0.0,320.0,20.0)];
...
}

ご覧のとおり、ナビゲーション コントローラーの高さを 20px にしようとしています。ただし、これは機能していません。setFrame は正しい関数でなければならないと思いますが、正しい場所で呼び出していません。SOに関する他の質問は私のものと似ていますが、setFrameに応答する場合、navigationBarの高さを設定できるはずだと思います...そうですか?

また、navigationBar のデフォルトの高さを知っている人はいますか?

ありがとう!

4

2 に答える 2

5

ナビゲーション バーのデフォルトの高さは 44px です。

ナビゲーション バーのサイズを直接変更しようとする必要があるかどうかはわかりませんが、ドキュメントでは確かにそれを思いとどまらせています。

ナビゲーション コントローラーと組み合わせて使用​​する場合、ナビゲーション バーを直接カスタマイズできるのはほんの一握りです。具体的には、このクラスの barStyle、tintColor、および半透明のプロパティを変更しても問題ありませんが、フレーム、境界、アルファ、または隠しプロパティなどの UIView レベルのプロパティを直接変更してはなりません。

何をしようとしているかによっては、新しい UIView をナビゲーション バーの上/下に配置する方が簡単な場合があります。

于 2010-03-13T22:30:58.867 に答える
3

ナビゲーションバーのデフォルトの高さは 44 ピクセルです。変更したい場合は、カテゴリを UINavigationBar に追加して setFrame: メソッドをオーバーライドしてみてください。

于 2010-03-13T22:30:45.433 に答える