🪬
IQKeyboardManagerでnumberPadも閉じるボタンを出したい
はじめに
IQKeyboardManagerでナンバーパッドはデフォルトで閉じるボタンが表示されないのでその解決方法。
できるもの
ナンバーパッド状態でもDoneボタンが追加されてキーボードが閉じれます。
IQKeyboardToolbarManager導入
IQKeyboardManagerに加え、IQKeyboardToolbarManagerも必要になるのでSPM等で追加します。
AppDelegate.swiftにコード追加
import UIKit
import IQKeyboardManagerSwift
import IQKeyboardToolbarManager
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
IQKeyboardManager.shared.enable = true
IQKeyboardToolbarManager.shared.isEnabled = true
return true
}
IQKeyboardManagerとIQKeyboardToolbarManagerをインポートして以下コードを追加して完了です。
IQKeyboardManager.shared.enable = true
IQKeyboardToolbarManager.shared.isEnabled = true
IQKeyboardToolbarManagerを使用しない方法
import UIKit
import CoreData
import IQKeyboardManagerSwift
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
IQKeyboardManager.shared.enable = true
IQKeyboardManager.shared.enableAutoToolbar = true
return true
}
上記のように、IQKeyboardToolbarManagerを使用しなくても表示されるがIQKeyboardManagerのバージョンによって警告がでる。
'enableAutoToolbar' is deprecated: Please disable Toolbar using `IQKeyboardManager.shared.enableAutoToolbar = false` and use `IQKeyboardToolbarManager` independently from https://github.com/hackiftekhar/IQKeyboardToolbarManager
'enableAutoToolbar' は非推奨です: IQKeyboardManager.shared.enableAutoToolbar=falseを使用してツールバーを無効にし、https://github.com/hackiftekhar/IQKeyboardToolbarManager から独立して
IQKeyboardToolbarManager` を使用してください。
Discussion