如何在UITextField上自动打开键盘?

eem*_*bee 53 iphone interface builder objective-c uitextfield

我有一个非常简单的表,当tocuh一个单元格时,它打开一个带有一个UITextfield的新视图.我想要的是键盘将自动打开,用户不必触摸UITextfield.

这一切都在Interface Builder中完成,所以我不知道我是怎么做到的.我想我需要在某个时候设定焦点?

谢谢

jes*_*rry 133

要使键盘立即显示,您需要使用以下行将文本字段设置为第一响应者:

[textField becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)

您可能希望将其放在viewDidAppear:方法中.

  • 我推荐-viewDidAppear :,因为这会生成动画.在-viewWillAppear中生成动画可能会导致图形工件,因为您还没有在屏幕上.因为你每次进入屏幕时几乎肯定都想要它,所以-viewDidLoad可能是多余的(每次从磁盘加载视图时都会发生这种情况,这有点不可预测,所以不是视觉效果的好地方). (27认同)
  • 对于swift 3:`覆盖func viewDidAppear(_ animated:Bool){textField.becomeFirstResponder()}` (3认同)

Nic*_* S. 9

Swift 3&4:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    textField.becomeFirstResponder()
}
Run Code Online (Sandbox Code Playgroud)