在我的應用程序中,我需要創建一個搜索建議界面 - 與Google搜索非常相似(它在搜索字段中鍵入時開始顯示建議)。有沒有辦法與UISearchController創建「搜索建議」界面
我在導航欄的搜索欄中UISearchController
做到了,設置它是這樣的:
// setup search controller
searchController = UISearchController(searchResultsController: searchSuggestionsController)
self.searchController.searchResultsUpdater = searchSuggestionsController
self.searchController.hidesNavigationBarDuringPresentation = false
self.navigationItem.titleView = self.searchController.searchBar
// ISSUE!! definesPresentationContext needs to be false or I can't push this
// controller multiple times on the navigation stack
self.definesPresentationContext = true
而當搜索控制器推到導航堆棧中第一次工作得很好,它不「T讓搜索欄獲取焦點當推第二次,如下圖所示
,但如果我將它設置爲false:當我開始輸入到搜索欄,導航酒吧(連同搜索欄)消失。這是意料之中的,因爲(因爲definesPresentationContext = false
)UISearchController
行爲現在正試圖以顯示其對UINavigationController
的視圖的俯視圖,如下圖所示:
有沒有辦法通過UISearchController實現這一目標?如果沒有,我應該如何爲此創建一個自定義控件的指針? (動畫中顯示的最小應用的代碼可以是downloaded here)