我有两个视图控制器,第一个IC有一个按钮。 当我按下按钮时,第二个IC会推动视图。 第二个IC有一个搜索栏。
问题:
第二个接口控制器被推入视图后,键盘是否可能自动打开
这是我项目的链接:https://www.dropbox.com/sh/5jqwv9vfrtlbh9f/AACOAWy-OAqFTJGgDCYsy-xra?dl=0
答案 0 :(得分:3)
这适用于包含searchBar的视图控制器:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.searchController.searchBar.becomeFirstResponder()
}
编辑在Swift
编辑2:
在查看您的项目时,您可以通过调用searchBar.canBecomeFirstResponder()
函数中的viewDidAppear()
来确定searchBar尚未准备好成为第一响应者。我没有深入挖掘以确切知道searchBar何时能够成为第一响应者,但你可以使用NSTimer来解决这个问题:
func showKeyboard() {
self.searchController.searchBar.becomeFirstResponder()
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
var timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: Selector("showKeyboard"), userInfo: nil, repeats: false)
}