見出し画像

【Swift】全アプリに適用したいレベルに使えるIQKeyboardManagerSwiftライブラリを共有したい

iPhone_12_と_iPad_Air_と_受信トレイ__1__-_tanukidevelop453145_gmail_com_-_Gmail

画面下部にボタンがある場合、キーボードが閉じられないので、キーボードが邪魔にならなくて一生押せない事象になります。

また、画面下部にTextFieldなど入力欄がある場合はキーボードによって入力欄が消えてしまって、何を入力してるのか分からなくなります。

それを解決するためには下記のような対応などを行っておりました。


しかしながら、画面ごとに実行するのもめんどくさいですよね。。。

私は開発現場でそのような仕様で書いていましたがデバッグが地獄でした。

その時調べたライブラリは以下になります。

IQKeyboardManagerSwiftライブラリ

iPhone_12_と_iPad_Air_と_受信トレイ__1__-_tanukidevelop453145_gmail_com_-_Gmail

ライブラリを導入する事によって
・入力欄をキーボードより高くなるように自動的に高くする。
・キーボードにDoneボタンを追加し、いつでもキーボードを閉じられるようにする。

上記が1行で達成できます。

インストールについて

  pod 'IQKeyboardManagerSwift'

pod installしてください。

ライブラリについては以前記事で触れているので、もし分からない場合はご参考ください。

アプリ内での記述

import UIKit
import IQKeyboardManagerSwift

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

   func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
       IQKeyboardManager.shared.enable = true
       return true
   }
   
   ... 省略

これだけでアプリ全体がIQKeyboardManagerSwiftを適用されます。

いいなと思ったら応援しよう!