0
當您將搜索控制器設置爲navigationItem.searchController時,UISearchController的自定義UITableViewController覆蓋iOS 11中的搜索欄。桌面視圖控制器覆蓋整個屏幕,因此您在輸入時看不到搜索欄。發送nil給UISearchController時,這不是問題。基本上,我有這個地圖應用程序的搜索欄,所以我設置UITableViewController到UISearchController來處理在搜索位置時顯示搜索結果。以前,表格視圖顯示在搜索欄的底部,現在它覆蓋整個屏幕。用於UISearchController的自定義UITableViewController覆蓋iOS 11中的搜索欄
這裏有一個代碼片段:
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
}