当您将搜索控制器设置为navigationItem.searchController时,UISearchController的自定义UITableViewController将覆盖iOS 11中的搜索栏。表格视图控制器覆盖整个屏幕,因此您无法在键入时看到搜索栏。将nil发送到UISearchController时,这不是问题。基本上,我有一个这个地图应用程序的搜索栏,所以我设置一个UITableViewController到UISearchController来处理搜索位置时搜索结果的显示。以前,表格视图显示在搜索栏的底部,现在它覆盖了整个屏幕。
以下是代码段:
searchController = UISearchController(searchResultsController: searchResultsController)
searchController.searchBar.sizeToFit()
searchController.hidesNavigationBarDuringPresentation = true
searchController.dimsBackgroundDuringPresentation = true
searchController.definesPresentationContext = false
searchController.searchResultsUpdater = self
searchController.delegate = self
if #available(iOS 11.0, *){
self.navigationItem.searchController = searchController
}
答案 0 :(得分:0)
发现了这个问题。需要在willPresentSearchController
中设置正确的原点值