2013-10-17 5 views
7

ルートコントローラでナビゲーションコントローラを非表示にしてください。私は、私が必要とするすべてのビューコントローラに[navigationController setNavigationBarHidden:YES]を書き込む解決策を見つけました。さて、これは初めてですが、初めてアプリケーションを実行します。ルートビューでナビゲーションがない場合、2番目のビューに移動します。ナビゲーションが表示されます。しかし、ナビゲーションコントローラで「戻る」を押すと、ルートビューからのナビゲーションは消えません。私はxibで働いています。ルートビューでナビゲーションコントローラを非表示にするにはどうすればいいですか?

答えて

18

-(void)viewDidLoad:(BOOL)animated 
{ 
    [self.navigationController setNavigationBarHidden:NO animated:NO]; 
} 
+1

ありがとうviewWillAppearすべてのビューコントローラに隠されたコードを入れて、すべてのビューコントローラのナビゲーションバーを非表示にするには!あなたの答えが働く。回答ありがとうございました。 –

0

アウト

使用するすべてのビューコントローラのコード行を、これを試してみてください

[navigationController setNavigationBarHidden: YES animated:YES]; 

何のアニメーションはあなたがアニメーション行うことができます必要とされていない場合:NOとviewWillAppearをのviewDidLoadでこのコードを追加したり、それを置きますか、 viewDidAppear。あなたの他のviewControllers

0

すべてのView Controllerのビューは、メソッドを表示されます隠すナビゲーションバー上のあなたの場合、あなたのrootViewController上

[navigationController setNavigationBarHidden:YES animated:NO]; 

、 と

[navigationController setNavigationBarHidden:NO animated:YES]; 

。 (次のrootViewControllerに)第二ビューで

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

rootViewController

-(void)viewWillAppear:(BOOL)animated 
{ 
[super viewWillAppear:animated]; 
[navigationCOntroller setNavigationBarHidden:YES animated:animated]; 
} 
0

私はあなたがタブバーコントローラを使用していると信じています。

コードは最初のビューコントローラでのみ使用できます。 2番目のView Controllerの場合はデフォルトになり、2番目のView Controllerの場合はナビゲーションバーが表示されます。

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

は、これを書くのにあなたが一番長くかかったように見えます:) – Jaro

関連する問題