0

ストーリーボードにナビゲーションコントローラーとテーブルビューコントローラーをセットアップしました。テーブルビューに検索バーがあります。self.navigationcontrollerを使用してナビゲーションコントローラーへの参照を取得します。私が使う

[self.navigationController setNavigationBarHidden:YES animated:animated];

表示される後続のビューでナビゲーションバーを非表示にします。これは、検索バーを使用せずにテーブルビューでセルを選択する場合に正常に機能します。ただし、検索バーを使用してテーブルビューに特定のセルを表示し、そのテーブルからセルを選択すると、上記のコードが実行されてもナビゲーションバーが表示されるため、ナビゲーションコントローラーへの参照が失われるようです。次のビュー。

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

4

2 に答える 2

1

これが私が見つけたものです。検索バーがビューを離れると、ナビゲーションバーがビューに再び送信されるため、NavigationBarHiddenプロパティは明らかにリセットされます。何が起こっているのか正確にはわかりませんが、viewWillDisappearのこのコード行で問題が解決します。

 self.searchDisplayController.active=NO;
于 2012-05-29T21:50:07.193 に答える
0

次のビューコントローラでそのコード行を実行してみませんか?

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}
于 2012-05-21T07:42:49.980 に答える