KeyboardでTextFieldが隠れてしまう時に

レイアウトして、動作させてみた時に、キーボードでテキストフィールドが隠れてしまって驚くことがよく・・・

レイアウト自体を変更してやり過ごすことが多かったけど、きちんと対応するという意味で、テキストフィールドに入力しようとしたキーボードが表示された時に、テキストフィールドを見える位置まで移動させてみます。

ポイントとなるイベント

キーボードの表示/非表示の時に、Notifyされる以下のイベントに反応して対応します。

  • UIResponder.keyboardWillShowNotification
  • UIResponder.keyboardWillHideNotification

イベントに反応できるようにListenerを追加

上では、自クラスに、keyboardWillBeShownとkeyboardWillBeHiddenを追加して呼び出されるようにしてます。

画面を移動させる

画面全体か、特定の部品だけかは、好みだったり状況だったり。ここでは、View全体を移動させてます。
“let keyboardHeight:CGFloat = 200″の200は、画面サイズみて、適当に決めた値。

画面を移動させるコード

コード
MEMO
このサイトを参考にさせてもらいました。
実際には、上記サイトでは、移動距離の計算をきちんと書いているのですが、そこまでいらないかなぁと思って、適当にしたバージョンが、自分のコードです。

コメントを残す

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