To run the example project, clone the repo, and run pod install
from the Example directory first.
IQKeyboardToolbarManager is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'IQKeyboardToolbarManager'
Enable toolbar handling in AppDelegate
import UIKit
import IQKeyboardToolbarManager
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
IQKeyboardToolbarManager.shared.isEnabled = true
return true
}
Cuistomize Behavior
IQKeyboardToolbarManager.shared.toolbarConfiguration.useTextInputViewTintColor = true
IQKeyboardToolbarManager.shared.toolbarConfiguration.tintColor = UIColor.systemGreen
IQKeyboardToolbarManager.shared.toolbarConfiguration.barTintColor = UIColor.systemYellow
IQKeyboardToolbarManager.shared.toolbarConfiguration.previousNextDisplayMode = .alwaysShow
IQKeyboardToolbarManager.shared.toolbarConfiguration.manageBehavior = .byPosition
IQKeyboardToolbarManager.shared.toolbarConfiguration.previousBarButtonConfiguration = ... // BarButton configuration to change title, image or system image etc
IQKeyboardToolbarManager.shared.toolbarConfiguration.nextBarButtonConfiguration = ... // BarButton configuration to change title, image or system image etc
IQKeyboardToolbarManager.shared.toolbarConfiguration.doneBarButtonConfiguration = ... // BarButton configuration to change title, image or system image etc
IQKeyboardToolbarManager.shared.toolbarConfiguration.placeholderConfiguration.showPlaceholder = false
IQKeyboardToolbarManager.shared.toolbarConfiguration.placeholderConfiguration.font = UIFont.italicSystemFont(ofSize: 14)
IQKeyboardToolbarManager.shared.toolbarConfiguration.placeholderConfiguration.color = UIColor.systemPurple
IQKeyboardToolbarManager.shared.toolbarConfiguration.placeholderConfiguration.buttonColor = UIColor.systemBrown // This is used only if placeholder is an action button
IQKeyboardToolbarManager.shared.playInputClicks = false
IQKeyboardToolbarManager.shared.disabledToolbarClasses.append(ChatViewController.self)
IQKeyboardToolbarManager.shared.enabledToolbarClasses.append(LoginViewController.self)
IQKeyboardToolbarManager.shared.deepResponderAllowedContainerClasses.append(UIStackView.self)
Useful functions and variables
if IQKeyboardToolbarManager.shared.canGoPrevious {
...
}
if IQKeyboardToolbarManager.shared.canGoNext {
...
}
IQKeyboardToolbarManager.shared.goPrevious()
IQKeyboardToolbarManager.shared.goNext()
IQKeyboardToolbarManager.shared.reloadInputViews() // If some textInputView hierarchy are changed on the fly then use this to reload button states
Useful functions and variables for TextInputView
textField.iq.ignoreSwitchingByNextPrevious = false
Iftekhar Qurashi hack.iftekhar@gmail.com
IQKeyboardToolbarManager is available under the MIT license. See the LICENSE file for more info.