UISearchController を使用して、テーブルビューのヘッダー ビュー内に検索バーを表示しています。
...
self.searchController.hidesNavigationBarDuringPresentation = NO;
self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar;
[self.searchController.searchBar sizeToFit];
self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar;
(そうしないと、ヘッダービューが最初の行と重なるため、 tableHeaderView プロパティを2回設定する必要があります。 SO に関するいくつかの回答を参照してください)
これは、非アクティブ時の完全な位置での外観です。
検索バーは、アクティブなときにそのままにしておく必要があります。ナビゲーションバーを非表示にするために上に移動したくありません。しかし、予期せず下にアニメーション表示され、ナビゲーション バーとの間に空白が残ります。
これは奇妙な検索バーのアニメーションの ビデオです
UISearchController とは別に検索バーを使用すると、アクティブになったときに同じ動作が表示されません。
私の提示ビューコントローラーにはself.definesPresentationContext = YES;
とがself.navigationController.navigationBar.translucent = YES;
あり、IB では「エッジの拡張」ボックスはどれもアクティブではありません (すべて、読み回して検索プレゼンテーションをオフにする可能性があるようです)。
検索バーのアニメーションを停止する方法を知っている人はいますか?