【Swift5】scrollViewを使って画面下にあるtextfieldがキーボードで隠れないようにした。

入力フォームなどで縦に長くなった時、下の方のtextFieldがキーボードに隠れて困ることがよくあります。
それを解消しました。
前回の記事のようにscrollViewとstackViewを使っている場合に便利です。

参考サイト
Swift:TextFieldが隠れちゃうのをなんとかする!|プログラミング初心者のプロへの道
UITextFieldを使用する時に必要なあれこれ – Qiita
[Swift4]複数のTextFieldがキーボードに隠れて入力できない時の対策 – あなたにフィット

上記2つのサイトを参考にSwift5で簡単に書いてみます。

まずは前々回の記事を参考にscrollView – stackView – view – textfieldという階層を作ります。
【Swift5】縦長のスクロール画面をscrollViewとstackViewを使って作ると便利だった。改訂版 | iPhoneアプリ備忘録
わかりやすくViewの色を塗り分けておきます。
スクリーンショット 2020-04-10 21.03.20

0vz6x-pfv2f

あと、前回の記事を参考にキーボードを閉じるボタンも付けておきます。
【Swift5】textFieldのキーボードに閉じるボタンを付ける。 | iPhoneアプリ備忘録

このままだとスクロールはしますが一番下の青のtextfieldに入力しようとしても隠れて見えません。
キーボードが出た時にキーボードの高さ分だけスクロールビューを動かします。
以下コード

こんな感じになります。
2hafl-4l5jh

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です