0

私はUINavigationControllerをモーダルで表示しています。 ルートビューコントローラでは、ナビゲーションバーを表示したくありません。ナビゲーションバーなしでView Controller内でNavと共にUIViewControllerをプッシュする方法

しかし、より深いコントローラの場合は、表示したいと思います。

I私のルートビューコントローラ内でこのような何かを行うものの:私は戻って最初のビューコントローラからのルートビューコントローラへ行くとき

-(void) viewWillAppear:(BOOL)animated 
{ 
    [self.navigationController.navigationBar setHidden:YES]; 
} 

-(void) viewWillDisappear:(BOOL)animated 
{ 
    [self.navigationController.navigationBar setHidden:NO]; 
} 

しかし、これは、問題を提示しています。 rootViewControllerの読み込みが終了した後でなく、「戻る」ボタンを押した後にナビゲーションバーが消えています(最初のビューコントローラ内で、空白が残っています)。 (明らかに私のコードはviewWillAppearを使用しているため)

解決方法はありますか?

私が考えたのは、ナビゲーションバーを永続的にハイディングし、スタック内の各ビューコントローラに手動でナビゲーションバーを追加することでした。 私はそれがはるかに仕事であるので、それをしないことを望み、また、私はカスタム画像を作成する必要があります矢印ボタンを使用したいと思います。

ご意見をお寄せください。

+0

あなたは多分スクリーンショットを投稿できますか? 2番目のviewControllerはフルスクリーンで表示されますか?私は100%あなたの質問を得ることはありません。 – DAS

答えて

1

これはそれを行う必要があり、私はそれをテストしていませんが、理論的には動作するはずです:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [self.navigationController setNavigationBarHidden:YES animated:YES]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 
    [self.navigationController setNavigationBarHidden:NO animated:YES]; 
} 
関連する問題