NavigationBarを表示・非表示

一枚絵のトップ画面からナビゲーションバー付きのTableViewに移動する、もしくはその逆などで、ページによってナビゲーションバーを表示したり非表示にしたい場合の方法。

使うのは、以下の二つ
・画面表示時のアクション『- (void)viewWillAppear:(BOOL)animated』
・ナビゲーションバーの表示を切り替える『[self.navigationController setNavigationBarHidden:YES/NO animated:YES/NO]』

『ナビゲーションバーを表示するページの.m』

//画面表示時のアクション
- (void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setNavigationBarHidden:YES animated:NO];
    [super viewWillAppear:animated];
}

『ナビゲーションバーを非表示にするページの.m』

//画面表示時のアクション
- (void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setNavigationBarHidden:NO animated:NO];
    [super viewWillAppear:animated];
}

応用として、画面の表示完了時に呼ばれる『- (void)viewDidAppear:(BOOL)animated』で、animatedをONにしてsetNavigationBarHiddenを使うことで、『ページの表示後にスライドしてナビゲーションバーが上に出てくる』という演出をすることも可能。

コメントを残す

メールアドレスが公開されることはありません。