📝
Viewを開いた時に、TextViewのキーボードを自動的に表示させる
実現したいこと
タイトルの通り、任意のViewを開いた時にキーボードを自動で表示させるようにしたい。
解決策
これはググったらすぐに解決策が出てきたのでここに残しておく。
override func viewDidLoad() {
textView.becomeFirstResponder()
}
上記のメソッドをキーボードを自動的に表示させたいViewクラスに書けば良い。
解釈
公式のドキュメントによると、becomeFirstResponder()
は、UIKitに対して、任意のオブジェクトをView表示の最初に呼び出しするように依頼するとのこと。
追記
したかった実装に関してはこれで解決したが、公式のドキュメントには「becomeFirstResponder()
を呼び出したからといって、任意のオブジェクトが第一応答者になることは保証していない」と記述されていた。つまり、このメソッドにより、UIKitは現在の第一応答者に第一応答者を譲るように要求するが、それができない場合もあるらしい。
それは一体どのような場合なのだろうか...🤔
Discussion