web-dev-qa-db-ja.com

UITextFieldでキーボードを自動的に開く方法は?

非常に単純なテーブルがあり、セルを取得すると、1つのUITextfieldで新しいビューが開きます。私が望むのは、ユーザーがUITextfieldに触れる必要なく、キーボードが自動的に開くことです。

Interface Builderですべて完了しているため、これをどのように行うかはわかりません。ある時点でフォーカスを設定する必要があると思いますか?

ありがとう

53
eemceebee

キーボードをすぐに表示するには、次の行を使用して、テキストフィールドを最初のレスポンダーとして設定する必要があります。

[textField becomeFirstResponder];

これをviewDidAppear:メソッドに配置することもできます。

133
jessecurry

Swift 3および4:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    textField.becomeFirstResponder()
}
8
Nico S.

メインスレッドに最初のレスポンダーを追加することをお勧めします-

 override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    DispatchQueue.main.async {
        self.textField.becomeFirstResponder()
    }
}

これは、View Controllerビューがサブビューとして追加されるときに役立ちます。

0
Yash