Swift 加载控制器时激活UISearchBar
我拥有以下搜索控制器:Swift 加载控制器时激活UISearchBar,swift,keyboard,uikit,ios9,uisearchbar,Swift,Keyboard,Uikit,Ios9,Uisearchbar,我拥有以下搜索控制器: class SearchController: UITableViewController, UISearchResultsUpdating 该实现运行良好,但每次加载控制器时,我都必须点击搜索栏开始搜索。我想在SearchController加载后激活搜索栏。我试过: override func viewDidLoad() { super.viewDidLoad() ... ... self.resultSearchControll
class SearchController: UITableViewController, UISearchResultsUpdating
该实现运行良好,但每次加载控制器时,我都必须点击搜索栏开始搜索。我想在SearchController加载后激活搜索栏。我试过:
override func viewDidLoad() {
super.viewDidLoad()
...
...
self.resultSearchController.searchBar.becomeFirstResponder()
}
override func viewDidAppear(animated: Bool) {
self.resultSearchController.searchBar.becomeFirstResponder()
}
我还尝试了:
override func viewDidLoad() {
super.viewDidLoad()
...
...
self.resultSearchController.searchBar.becomeFirstResponder()
}
override func viewDidAppear(animated: Bool) {
self.resultSearchController.searchBar.becomeFirstResponder()
}
但搜索栏仍处于停用状态,键盘不会显示。我错过了什么?谢谢 这是有效的(不确定为什么它不适合你):
如果我添加以下“resultSearchController.active=true;resultSearchController.searchBar.becomeFirstResponder()”则它几乎可以工作:搜索栏被激活,但光标提示仍然不可见(这意味着,除非我点击搜索栏字段,否则它将不接受按键),苹果自己的TableSearchwithUISearchController示例也做了同样的事情。我修改了代码以禁用状态恢复,并始终强制searchController.searchBar.becomeFirstResponder()。它显示与我的应用程序相同的行为:-/您是否在导航栏的标题视图中显示了
UISearchBar
?我尝试了1)tableView.tableHeaderView=searchController.searchBar和2)navigationItem.titleView=searchController.searchBar。同样,创建一个新的Xcode单视图项目。在故事板中,将视图控制器嵌入到导航控制器中(以获取导航栏)。然后将ViewController.swift的内容替换为我发布的内容。