これがどのように機能するかわかりません。最初のタブが 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 つだけ持っていれば、流れが良くなるように思えました。ありがとう!