web-dev-qa-db-ja.com

UITextViewでデフォルトでキーボードを表示するにはどうすればよいですか?

UITextViewのみで構成されるビューを作成したい。ビューが最初に表示されるとき、デフォルトでは、キーボードが表示され、テキスト入力の準備ができているとよいのですが。この方法では、ユーザーは編集を開始するために最初にUITextViewに触れる必要はありません。

これは可能ですか?クラスにUITextViewTextDidBeginEditingNotificationと呼ばれる通知があるのがわかりますが、それを送信する方法、またはそれが正しいアプローチであるかどうかはわかりません。

34
bpapa

これを行うには、次のように、becomeFirstResponderメッセージをUITextFieldに送信します(問題のフィールドを指すtextFieldというアウトレットがあると仮定します)。

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [textField becomeFirstResponder];
}
64
Adam Alexander

スウィフトで

キーボードを自動的に表示するには、次のようにします。

_override func viewDidLoad() {
    super.viewDidLoad()

    // show keyboard
    textView.becomeFirstResponder()
}
_

メモ

  • これは、テキストビューが編集可能であることを前提としています。
  • UITextViewUITextFieldの両方で機能します
  • キーボードを非表示にするには、textView.resignFirstResponder()を使用します
11
Suragch

以下はSwiftを使用して私のためにうまくいきました

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    // Show keyboard by default
    billField.becomeFirstResponder()
}

重要なのは、viewDidAppear関数を使用することです。

5
Usman