我有一个非常简单的表格,当打开一个单元格时,它会打开一个带有一个 UITextfield 的新视图。我想要的是键盘会自动打开,而用户不必触摸 UITextfield。
这一切都在 Interface Builder 中完成,所以我不确定我是如何做到的。我想我需要在某个时候设置焦点?
谢谢
我有一个非常简单的表格,当打开一个单元格时,它会打开一个带有一个 UITextfield 的新视图。我想要的是键盘会自动打开,而用户不必触摸 UITextfield。
这一切都在 Interface Builder 中完成,所以我不确定我是如何做到的。我想我需要在某个时候设置焦点?
谢谢
要使键盘立即显示,您需要使用以下行将文本字段设置为第一响应者:
[textField becomeFirstResponder];
您可能希望将其放在viewDidAppear:
方法中。
斯威夫特 3 和 4:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
textField.becomeFirstResponder()
}
override func viewDidLoad() {
super.viewDidLoad()
textField.becomeFirstResponder()
}
更喜欢在主线程上添加第一响应者 -
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
DispatchQueue.main.async {
self.textField.becomeFirstResponder()
}
}
当视图控制器视图被添加为子视图时,这将派上用场。