我修改了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
即使在隐藏状态栏的其他手机上,搜索字段现在也太靠近顶部了:
我希望隐藏状态栏的行为和间距与显示相同,任何人都知道问题是什么?
答案 0 :(得分:0)
虽然不理想,但将UISearchController
属性hidesNavigationBarDuringPresentation
设置为false
有助于提供不间断的用户体验。找到了建议here。