0

これがどのように機能するかわかりません。最初のタブが UiNavigationController であり、その rootViewController に UISearchDisplayController と UISearchBar がある UITabBarController があります。rootViewController を UINavigationControllerDelegate に設定しました。

私はこれをします:

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
    [self.navigationController.navigationBar setHidden:YES];
}

だから私のナビゲーションバーは表示されません。その部分は機能します。ただし、検索を行って Enter キーを押すと、ナビゲーション バーが表示され、検索バーがその下に押し出されます。ここで何が起きてるの?ナビゲーションバーが表示されないようにするために必要な場所は他にありますか?

以前はそうしていたので、代わりにView Controllerをモーダルに表示できることはわかっています。しかし、navBar の問題以外にモーダルで表示する理由はありませんでした。検索が行われ、ユーザーが何かを選択してアイテムのより詳細なビューに移動したら、そこでナビゲーションコントローラーを作成していました。私が言ったように、詳細なリストをモーダルに表示する理由がないので、ルートに UINavigationController を 1 つだけ持っていれば、流れが良くなるように思えました。ありがとう!

4

1 に答える 1

0

交換してみる

[self.navigationController.navigationBar setHidden:YES];

[self.navigationController setNavigationBarHidden:YES animated:NO];
于 2012-07-07T17:10:42.943 に答える