📝

Viewを開いた時に、TextViewのキーボードを自動的に表示させる

2022/07/01に公開

実現したいこと

タイトルの通り、任意のViewを開いた時にキーボードを自動で表示させるようにしたい。

解決策

これはググったらすぐに解決策が出てきたのでここに残しておく。

override func viewDidLoad() {
   textView.becomeFirstResponder()
}

上記のメソッドをキーボードを自動的に表示させたいViewクラスに書けば良い。

解釈

公式のドキュメントによると、becomeFirstResponder()は、UIKitに対して、任意のオブジェクトをView表示の最初に呼び出しするように依頼するとのこと。

追記

したかった実装に関してはこれで解決したが、公式のドキュメントには「becomeFirstResponder()を呼び出したからといって、任意のオブジェクトが第一応答者になることは保証していない」と記述されていた。つまり、このメソッドにより、UIKitは現在の第一応答者に第一応答者を譲るように要求するが、それができない場合もあるらしい。
それは一体どのような場合なのだろうか...🤔

Discussion