我正在尝试进行视图加载,就像用户已经按下UISearchBar
一样。我希望SearchController
在顶部加载UISearchBar
以及取消按钮。
我试过这个:
func activateSearch(){
self.searchBarShouldBeginEditing(self.searchController.searchBar)
self.willPresentSearchController(self.searchController)
self.updateSearchResultsForSearchController(self.searchController)
}
答案 0 :(得分:2)
启用seacrbar焦点只需将becomeFirstResponder
添加到搜索栏
func activateSearch(){
self.searchController.searchBar.becomeFirstResponder()
}
或如果上述内容无效,请添加self.searchController.active = true
并尝试此操作
func activateSearch(){
self.searchController.active = true
self.searchController.searchBar.becomeFirstResponder()
}
或改进方式
func activateSearch(){
self.searchController.active = true
self.searchController.searchBar.hidden = false
self.searchController.searchBar.becomeFirstResponder()
}
不需要这个
func activateSearch(){
self.searchBarShouldBeginEditing(self.searchController.searchBar)
self.willPresentSearchController(self.searchController)
self.updateSearchResultsForSearchController(self.searchController)
}
答案 1 :(得分:1)
这可以通过在searchController
active
设置为viewDidAppear
来完成
override func viewDidAppear(animated: Bool) {
searchController.active = true
}
并添加此
func didPresentSearchController(searchController: UISearchController) {
searchResultController.searchBar.becomeFirstResponder()
}