【发布时间】:2018-03-31 11:46:36
【问题描述】:
当您将搜索控制器设置为 navigationItem.searchController 时,UISearchController 的自定义 UITableViewController 会覆盖 iOS 11 中的搜索栏。表格视图控制器覆盖整个屏幕,因此您在键入时看不到搜索栏。当您向 UISearchController 发送 nil 时,这不是问题。基本上,我有一个用于此地图应用程序的搜索栏,因此我将 UITableViewController 设置为 UISearchController 以在搜索位置时处理搜索结果的显示。以前,表格视图显示在搜索栏的底部,现在它覆盖了整个屏幕。
这是一个代码sn-p:
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
}
【问题讨论】:
标签: ios uisearchbar ios11 uinavigationitem uisearchcontroller