非常に単純なテーブルがあり、セルを取得すると、1つのUITextfieldで新しいビューが開きます。私が望むのは、ユーザーがUITextfieldに触れる必要なく、キーボードが自動的に開くことです。
Interface Builderですべて完了しているため、これをどのように行うかはわかりません。ある時点でフォーカスを設定する必要があると思いますか?
ありがとう
キーボードをすぐに表示するには、次の行を使用して、テキストフィールドを最初のレスポンダーとして設定する必要があります。
[textField becomeFirstResponder];
これをviewDidAppear:
メソッドに配置することもできます。
Swift 3および4:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
textField.becomeFirstResponder()
}
メインスレッドに最初のレスポンダーを追加することをお勧めします-
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
DispatchQueue.main.async {
self.textField.becomeFirstResponder()
}
}
これは、View Controllerビューがサブビューとして追加されるときに役立ちます。