スコープ バーを備えた UISearchBar のように動作するカスタム バージョンの検索フォームを実装しました (ただし、実際には UI 上の理由からプログラムでつなぎ合わせています)。画面に TextField がロードされます。TextField をタップすると、ナビゲーション バーが画面の外に移動し、テキスト フィールドが上に移動し、結果をフィルタリングするためのセグメント化されたコントロールが表示されます。
とにかく、すべてうまくいきますが、検索結果の 1 つをタップすると、コードが新しい ViewController をプッシュします。問題は、新しいコントローラーがナビゲーション バーなしでプッシュされることです ([[self navigationController] setNavigationBarHidden:YES animated:YES]
検索状態に切り替えるときに使用したため)。
新しい ViewController がプッシュされたときにナビゲーション バーを表示したり、新しい ViewController への遷移が表示されたときにアニメーション化したりすることもできますが、これらのソリューションはすべてぎこちなく見えます。復元されたナビゲーション バーが子ビュー コントローラーの一部であるかのように右からスライドして表示されるという点で、UISearchBar (実際には電子メール アプリに似ています) を使用しているかのように動作するようにしたいと考えています。
簡単な修正があることを願っています...ありがとう