web-dev-qa-db-ja.com

UITextViewフォーカスをプログラムで指定するにはどうすればよいですか?

そのため、UITextViewが含まれるモーダルビューコントローラーを持ち込み、キーボードを自動的にポップアップさせ、UITextViewにフォーカスを持たせたいと思います。

私は次のことを行うことでこれを達成する方法を見つけました。

textView.editable = YES;
textView.editable = NO;

これは私にとってハックのようですが、別の方法はありますか?

57
Meroon

それはややハックのように見えます。

「フォーカスがある」というCocoa Touchの用語は「ファーストレスポンダー」であり、UITextViewsはファーストレスポンダーであるときにキーボードを表示します。 UITextViewを最初のレスポンダーにするためのいくつかの手法を考えることができますが、おそらく最も簡単なのは、View ControllerのviewWillAppearまたはviewDidAppearメソッドです。

[。アニメーション]; 
} 
11
Erik
[textView becomeFirstResponder];
7
Corey Floyd

ViewControllerのロード時に特定のTextViewに焦点を合わせたい場合、次のようにViewDidLoadオーバーライド関数にtextView.becomeFirstResponder()を配置できます。

 override func viewDidLoad() {
    super.viewDidLoad()

textView.becomeFirstResponder()

}

私はこれがエラーなく動作することを発見しました

0
user8851874