【iOS】画面遷移時にキーボードを表示させる方法
はじめに
キーボードを起動するためにテキストフィールドを毎回タップするのがめんどくさいなぁと感じたため、画面が開いたときにキーボードが自動的に表示される方が便利と思いました。そのため、画面遷移をした後にキーボードを自動的に表示させる方法を書いていきます。
また、これは画面遷移が完全に終わる前にキーボードを事前に表示しておく方法です。画面遷移が完全に終了した後の処理はこの後出てくるviewWillAppear
をviewDidAppear
にすると可能です。
やり方
これを実現するには簡単で、新しいメソッドをViewController
内に以下のコードを追加します。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
textField.becomeFirstResponder()
}
詳細説明
override func viewWillAppear(_ animated: Bool) {
とは?
override func viewWillAppear(_ animated: Bool) {
とは?画面に表示される直前に呼ばれるメソッドです。初期表示に必要なviewDidLoad()
とは異なり、毎回呼び出されます。
UIViewControllerのライフサイクルについての詳細は以下の記事をご参照ください
textField.becomeFirstResponder()
UITextFieldはファーストレスポンダにすることによりキーボードを表示することができます。逆にファーストレスポンダをやめるとキーボードを非表示にすることができます。
そのため、textField.becomeFirstResponder()
とすることにより、画面を読み込むたびにキーボードを表示することができます。
「ファーストレスポンダ」とは?
iOSでは「レスポンダチェーン」と呼ばれる仕組みが用意されています。一連のレスポンダオブジェクトの連なりで、イベントを処理できるオブジェクトを決定するために使用されます。
レスポンダオブジェクトは基本的にView階層のかいに位置されるオブジェクトから順に評価されるため、最初にイベントを受け取るレスポンダオブジェクトを「ファーストレスポンダ」と呼びます。
Author And Source
この問題について(【iOS】画面遷移時にキーボードを表示させる方法), 我々は、より多くの情報をここで見つけました https://qiita.com/KaitoMuraoka/items/5cf488714423277a46e7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .