我正在使用 UISearchController 在表格视图的标题视图中显示搜索栏:
...
self.searchController.hidesNavigationBarDuringPresentation = NO;
self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar;
[self.searchController.searchBar sizeToFit];
self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar;
(设置 tableHeaderView 属性两次是必要的,否则标题视图与第一行重叠,参见SO 上的几个答案)
这是它的外观,在不活动时完美定位:
搜索栏在活动时应该保持原位 - 我不希望它向上移动以隐藏导航栏。但它意外地动画下来,在它和导航栏之间留下了一个空白区域:
这是一段 奇怪的搜索栏动画视频
如果我只使用与 UISearchController 分开的搜索栏,它在变为活动状态时不会显示相同的行为。
在我的呈现视图控制器中,我有self.definesPresentationContext = YES;
and self.navigationController.navigationBar.translucent = YES;
,并且在 IB 中,没有一个“扩展边缘”框处于活动状态(所有这些似乎都是可能的事情,可能会导致搜索呈现关闭,从四处阅读)。
有谁知道我怎样才能阻止搜索栏向下动画?