2012-10-31 9 views
12

私は多くの投稿を見つけましたが、解決策はまだありません。私は最初のUIViewControllerのNavigationBarを隠そうとしていますが、私はまだ2番目のUIViewControllerにそれを表示したいと思います。ここに私のストーリーボードがある:ストーリーボードの1つのViewControllerのNavigationBarを非表示にする

enter image description here

私は私のメインビューコントローラの推論トップバーをオフにすると、それはストーリーボードに消えますが、私はアプリを実行すると、それはまだ示しています。 NavControllerのNavigationBarに同じ操作を行うと、Navbarをすべて継承しているため、NavControllerのNavigationBarに同じ操作を行うと3つすべて消えます。

NavbarをScrollViewV View Controllerに表示したいが、それをMainViewControllerに隠しておきたい。

すべてのコントローラに対応する.hまたは.mファイルがありますが、これをプログラムで行う方法は混乱しています。あなたが何か他のものを見る必要があるかどうか私に教えてください。大変ありがとう!あなたのmainViewControllerで

答えて

41

、あなたは次の操作を行うことができます:

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

あなたはこのViewControllerをを隠したときには、次の操作を行うために、ナビゲーションバーを表示することがあります:

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

代替回答ありがとうございます! – Siriss

+0

これは、viewWillAppearをオーバーライドするためのより良い答えでした。ありがとうございました。お返事を頂く前に、さらに調査しないことを申し訳ありません。 – Siriss

+0

あなたの問題を解決してうれしいです – user427969

0
self.navigationController.navigationBarHidden = YES; 
+0

ありがとう!つまり、他のものが継承されてから、他のViewControllerで表示するように設定する必要があります。それは本当に簡単だった....もう一度ありがとう。 – Siriss

+0

また、私のScrollView View ControllerでNavBarに戻ったとき、Main View Controllerに再びナビゲーションバーが表示されます...どうすればそのパーマネントを作ることができますか? – Siriss

+1

viewDid/WillAppearとviewDid/WillDissappear ... – Martol1ni

0

ナビゲーションに表示するコントローラに、次のものも追加する必要があることに気付きました。

[self.navigationController setNavigationBarHidden:NO animated:animated]; 
[super viewWillAppear:animated]; 
2

[ユーザ定義属性を編集よりも、ストーリーボードで物事を維持したいとブールをチェックとして はnavigationController.navigationBarHiddenを設定した場合。

+0

これは素晴らしい提案です – Siriss

+2

これは動作しますが、別のViewControllerで同じトリックを使用してNavigationBarを表示することはできません。 (ユーザ定義のランタイムアトリビュートは、viewWillAppearではなくNibロード時に適用されます) – Berik

0

誰でもSwiftでこれを行う方法を知りたいですか?

override func viewDidAppear(animated: Bool) { 
    self.navigationController?.navigationBar.hidden = true 
} 
関連する問題