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
}
これで完了です!
あとは開いて動作を確認してみてください。
#まとめ
いかがでしたでしょうか。とっても簡単ですね。
これは非常に便利なので、使わない理由がありません!
是非是非ご活用ください〜(それにしても先人は偉大ですね…)