0

この質問は繰り返されているように見えますが、私の問題に対する適切な解決策はありません。私の場合、戻るボタンをクリックすると、ナビゲーションバーを非表示にしたいと思います。たとえば、ビュー 1 がビュー 2 を押した場合、ビュー 2 にはナビゲーション バーが表示されます。クリックして戻ると、ビュー 1 に戻ります。非表示にする必要があるナビゲーション バーは含まれていません。ビュー 2 で viewWillDisappear メソッドを使用して非表示にしようとしましたが、うまくいきましたが、さらにビューがあり、戻るボタンをクリックするとビュー 1 から各ビューをプッシュしている場合、ナビゲーション バーはビュー 1 で非表示になります。とにかく、他のビューがポップされていることをビュー1自体で知る必要があります。view1 で viewwillappear メソッドを試してみましたが、呼び出されませんでした。ここで何ができますか。

このメソッドは、view2 をポップした後ではなく、view1 を最初にロードすると呼び出されました。

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

これがビュー2をプッシュする方法です..

[root_obj.navigationController pushViewController:view2 animated:NO];

前もって感謝します

4

2 に答える 2

1

スーパークラスの viewWillAppear: メソッドを呼び出すのを忘れていると思います。

-(void) viewWillAppear : (BOOL)animated
{

    [super viewWillAppear:animated];

    [root_obj.navigationController setNavigationBarHidden:YES animated:YES];
}
于 2012-08-03T06:50:17.390 に答える
0

NavigationBarinView1's ViewDidAppearメソッドを非表示にしないのはなぜですか

編集

あなたのコードの問題が何かはわかりませんが、これらの種類のことViewWillAppearViewDidAppear詳細についてはメソッドで行うことができますUIViewController クラスリファレンスとチェックViewWillAppearまたはViewDidAppear

于 2012-08-03T06:13:51.903 に答える