相关疑难解决方法(0)

由UISearchController在表头视图中呈现的UISearchBar在活动时动画太远

我正在使用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中没有任何"扩展边缘"框是活动的(所有这些似乎都可能使搜索演示文件无法读取).

有谁知道如何阻止搜索栏动画下来?

uitableview uisearchbar ios ios8 uisearchcontroller

56
推荐指数
7
解决办法
4万
查看次数

标签 统计

ios ×1

ios8 ×1

uisearchbar ×1

uisearchcontroller ×1

uitableview ×1