我正在使用UISearchController在tableview的标题视图中显示一个搜索栏:
...
self.searchController.hidesNavigationBarDuringPresentation = NO;
self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar;
[self.searchController.searchBar sizeToFit];
self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar;
Run Code Online (Sandbox Code Playgroud)
(需要设置tableHeaderView属性两次,否则标题视图与第一行重叠,参见SO上的几个答案)
这是它看起来的样子,在不活动时完美地处于适当位置

搜索栏应该在活动时保持原位 - 我不希望它向上移动以隐藏导航栏.但它意外地动画下来,在它和导航栏之间留下一个空白:

这是一个 奇怪的搜索栏动画视频
如果我只是使用与UISearchController分开的搜索栏,则它在激活时不会显示相同的行为.
在我的呈现视图控制器中,我有self.definesPresentationContext = YES;和self.navigationController.navigationBar.translucent = YES;,并且在IB中没有任何"扩展边缘"框是活动的(所有这些似乎都可能使搜索演示文件无法读取).
有谁知道如何阻止搜索栏动画下来?