この問題は、1日以上私を苦しめています。私はUINavigationBarの高さを変更する必要があります。UINavigationBarの高さを変更するには
UINavigationControllerはAppDelegateのように作成されます。
self.navigationController = [[UINavigationController alloc] initWithRootViewController:mainController];
[self.window addSubview:self.navigationController.view];
[self.window makeKeyAndVisible];
ナビゲーションバーWILL変更の高さと、私が追加した場合固執[self.navigationController.navigationBar setFrame:NEWFRAME]以下のコードのようなにviewDidAppear。もつとも
- (void)viewWilAppear:(BOOL)animated
{
[super viewWillAppear:animated];
CGRect newFrame = CGRectMake(0, 0, 320, 100);
[self.navigationController.navigationBar setFrame:newFrame]
}
、私はこのようにそれを行う場合、あなたは実際にフレームが一瞬で100ピクセルの高さに、元44pxからスナップ見ることができる非常に迷惑であるビューロード、。
私が追加しようとした[ナビゲーションバーsetFrame:]のviewDidLoad、rootViewControllerのviewWillAppearに、私はUINavigationControllerを開始した直後にもAppDelegate。これらの作品はありません。
UINavigationBarカテゴリのdrawRect :(CGRect)rectメソッドをオーバーライドして、下のコードを使用して背景色を黒くしていますが、問題とは関係ないと思います。
[[UIColor blackColor] set];
CGContextFillRect(UIGraphicsGetCurrentContext(), rect);
これを行う最善の方法を知っている人はいますか?
実際にはナビゲーションを使用する必要があります。そのため、私はUINavigationControllerを使用しています。そうでなければ、カスタムツールバーを作成してビューに貼り付けることができました。 –