4

vc1 -> vc2 -> vc1 のようなビュー コントローラーの遷移があります。そして、UINavigationBar を vc1 で非表示にし、vc2 で表示する必要があります。

私は次のことを行います:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    self.navigationController.navigationBarHidden = YES;
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];

    self.navigationController.navigationBarHidden = NO;
}

iOS6では問題なく動作します。しかし、iOS7 で vc1 から vc2 に戻ると、ナビゲーション バーが非表示ではなく、ステータス バーの後ろに上に移動し、遷移アニメーションが終了した後にバーが非表示になりました。

ナビゲーション バーを本当に非表示にするにはどうすればよいですか?

4

2 に答える 2

0

VC2コントローラーでこれを入れます-viewDidLoad

[self.navigationController setNavigationBarHidden:NO];

VC1コントローラーでは、これを-ViewDidLoadに入れます

[self.navigationController setNavigationBarHidden:YES];

次にVC1はこれも追加します

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

お役に立てば幸いです...

于 2013-10-31T04:15:04.220 に答える