Overview
As of version 8.0, IQKeyboardToolbarManager is now an independent package, separated from the main IQKeyboardManager library. It provides automatic toolbar management with Previous/Next/Done buttons above the keyboard.IQKeyboardToolbarManager was previously part of IQKeyboardManager core but has been extracted into its own package for better modularity and flexibility.
GitHub Repository
hackiftekhar/IQKeyboardToolbarManagerKey Features
- Automatic Toolbar Creation - Automatically adds Previous/Next/Done buttons above the keyboard
- Navigation Between Fields - Seamlessly navigate between text input fields
- Customizable Toolbar - Configure toolbar appearance, buttons, and behavior
- Deep Responder Support - Navigate across text fields in different container views
- Class-Level Control - Enable/disable toolbar for specific view controllers
Installation
CocoaPods
Swift Package Manager
Carthage
Basic Usage
Standalone Usage
When using IQKeyboardToolbarManager as an independent package:Integration with IQKeyboardManager
If you’re using IQKeyboardManager, you can enable the toolbar through the deprecated compatibility layer:Configuration
Toolbar Customization
Navigation Control
Class-Level Control
Deep Responder Containers
Allow navigation between text fields in custom container views:Per-Field Customization
Ignore Previous/Next Navigation
Migration from v7
See the Migration Guide for detailed migration instructions from IQKeyboardManager v7 to v8.
Key Changes
- Separate Package - IQKeyboardToolbarManager is now independent
- Property Rename -
enableAutoToolbar→isEnabled - Configuration Changes -
IQToolbarConfiguration→IQKeyboardToolbarConfiguration - Class Renames -
IQPreviousNextView→IQDeepResponderContainerView
Before (v7)
After (v8)
API Reference
Core Properties
| Property | Type | Description |
|---|---|---|
isEnabled | Bool | Enable/disable automatic toolbar management |
toolbarConfiguration | IQKeyboardToolbarConfiguration | Toolbar appearance and behavior settings |
playInputClicks | Bool | Play click sound on button tap |
isDebuggingEnabled | Bool | Enable debug logging |
Navigation
| Property/Method | Type | Description |
|---|---|---|
canGoPrevious | Bool | Check if previous navigation is possible |
canGoNext | Bool | Check if next navigation is possible |
goPrevious() | @discardableResult func | Navigate to previous text field |
goNext() | @discardableResult func | Navigate to next text field |
reloadInputViews() | func | Refresh toolbar button states |
Class Management
| Property | Type | Description |
|---|---|---|
disabledToolbarClasses | [UIViewController.Type] | View controllers where toolbar is disabled |
enabledToolbarClasses | [UIViewController.Type] | View controllers where toolbar is force-enabled |
deepResponderAllowedContainerClasses | [UIView.Type] | Container views to search for text fields |
Related Resources
IQKeyboardReturnManager
Automatic return key handling
IQTextView
UITextView with placeholder support