我有以下SearchController:
class SearchController: UITableViewController, UISearchResultsUpdating
实施效果很好,但我每次加载控制器时都必须点击搜索栏开始搜索。我想要的是在加载SearchController后激活搜索栏。我尝试过:
override func viewDidLoad() {
super.viewDidLoad()
...
...
self.resultSearchController.searchBar.becomeFirstResponder()
}
我也尝试过:
override func viewDidAppear(animated: Bool) {
self.resultSearchController.searchBar.becomeFirstResponder()
}
但搜索栏仍然处于停用状态,键盘也不会显示。我错过了什么?谢谢!
答案 0 :(得分:1)
这有效(不确定为什么它不适合你):
class ViewController: UIViewController {
let mySearchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.titleView = mySearchController.searchBar
mySearchController.hidesNavigationBarDuringPresentation = false
mySearchController.searchBar.becomeFirstResponder()
}
}