LoginSignup
3
3

More than 3 years have passed since last update.

TextFieldを隠さずにキーボードを表示させる方法-IQKeyboardManager

Last updated at Posted at 2021-03-05

Keyboardが表示されてTextFieldが隠れてしまう時があると思います。
かと言って毎回Keyboardの高さ分画面を上にずらすと、元から画面上部にあるTextFieldが画面外に行ってしまいます。
TextFieldの位置によって画面をずらすか判断する、ってこともできるかもしれませんが、毎回実装するのは面倒ですよね…。

実はその問題、先人が既に解決してくれています✨
その方法がこちらのGithubで公開されています→IQKeyboardManager
とても簡単ですが、英語で書いてあるので実装方法をまとめてみました。

実装方法

まずはターミナルで実装したいプロジェクトが入っているフォルダに移動します。

次のコマンドで同じフォルダ内にCocoaPodsファイルを作成します。

pod init

作成されたPodfileを開き、次の記述を追加します。

# Pods for xxx(プロジェクト名)
pod 'IQKeyboardManagerSwift' ←追加

追加できたらPodfileを一旦閉じ、ターミナルで次のコマンドを打ってPodfileをInstallします。

pod install

すると.xcworkspace(アイコンが白いプロジェクト)が作成されるので、これを開きます。

AppleDelegate.swiftファイルを開き、次の箇所を追加します。

import UIKit
import IQKeyboardManagerSwift //←追加

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow? //←追加

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        IQKeyboardManager.shared.enable = true  //←追加

        return true
    }

これで完了です!
あとは開いて動作を確認してみてください。

Videotogif.gif

まとめ

いかがでしたでしょうか。とっても簡単ですね。

これは非常に便利なので、使わない理由がありません!

是非是非ご活用ください〜(それにしても先人は偉大ですね…)

3
3
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
3
3