LoginSignup
24
23

More than 5 years have passed since last update.

1行もコードを書かずに、キーボードが表示されたときにTextFieldが隠れないようにする

Last updated at Posted at 2015-12-18

テーマ

テキストフィールドをタップすると
キーボードが隠れてしまうことがありますよね。

一行も書かずに、これを解決します。

ゴール

下記のように、テキストフィールドをタップすると、
画面全体がスクロールし、テキストフィールドが隠れないようにします。

sample.gif

答えは、

TPKeyboardAvoidingというライブラリを使用します。

フォーカスが外れたときも、キーボードを消してくれます。
NSNotificationCenterとか使わなくてもOKです。

実装手順

  1. ライブラリを追加する。
  2. 画面のベースにUIScrollViewを設置する。
  3. UIScrollViewのカスタムクラスに「TPKeyboardAvoidingScrollView」を指定する。
  4. テキストフィールドを設置する。

それでは、やってみます。

1. ライブラリを追加する。

残念ながら、CarthageやCocoa Podsに対応していないので、
ダウンロードして、プロジェクトに追加してください。

2. 画面のベースにUIScrollViewを設置する。

ソースコードとのひも付けも不要です。

スクリーンショット 2015-12-19 0.34.32.png

3. UIScrollViewのカスタムクラスに「TPKeyboardAvoidingScrollView」を指定する。

スクリーンショット 2015-12-19 0.34.45.png

4. テキストフィールドを設置する。

あえて、キーボードで隠れそうな位置に、UITextFieldを設置する。

スクリーンショット 2015-12-19 0.35.05.png

以上です。

まとめ

簡単ですね。
ぜひ、ご活用ください。

24
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
23