隐藏状态栏时,UISearchController会与iPhone X发生问题

时间:2017-10-27 08:30:37

标签: iphone uinavigationcontroller ios11 uisearchcontroller

我修改了Apples示例UISearchController项目,允许它通过将UISearchController嵌入到UINavigationController中来与iPhone X一起工作,如苹果建议的那样:

if (@available(iOS 11.0, *)) {
    self.navigationItem.searchController = self.searchController;
} else {
    self.tableView.tableHeaderView = self.searchController.searchBar;
}

一切都按预期工作,但是当我删除项目的状态栏时,事情似乎就会破裂。当您点击搜索区域时,NavigationBar会消失,您甚至可以将搜索结果表格滑动到图像显示的后面。在应用程序中使用状态栏可以修复问题。

此处修改了项目:https://www.dropbox.com/s/6fdtwm361cy8e98/TableSearchwithUISearchController.zip?dl=0

enter image description here

即使在隐藏状态栏的其他手机上,搜索字段现在也太靠近顶部了:

enter image description here

我希望隐藏状态栏的行为和间距与显示相同,任何人都知道问题是什么?

1 个答案:

答案 0 :(得分:0)

虽然不理想,但将UISearchController属性hidesNavigationBarDuringPresentation设置为false有助于提供不间断的用户体验。找到了建议here