
IQKeyboardManager
A drop-in iOS library that stops the keyboard from covering text fields, with no code required.
- Stars
- 16.6k
- Forks
- 2.4k
- Licence
- MIT
- Language
- Swift
- Last update
- 1 months ago
- Type
- Library
What it is
IQKeyboardManager is a library for iOS apps that keeps the on-screen keyboard from sliding up and hiding UITextField and UITextView inputs. According to the README, you add the source files or a package to your project and enable it, and it handles the keyboard behavior automatically. The README describes the Swift version as IQKeyboardManagerSwift, which is split into optional subspecs for extras like a toolbar with Previous/Next/Done buttons.
- Keep a login form's password field visible when the keyboard opens
- Add Previous/Next/Done toolbar navigation between text fields using the toolbar subspec
- Avoid keyboard overlap in table views or collection views that contain text inputs
Great for
- iOS app developers building forms or screens with several text inputs
- Teams who want keyboard avoidance without writing custom scroll-view code
- Developers supporting iOS 13 and later with Swift projects
Not ideal for
- Developers building a third-party SDK or framework, since the README explicitly advises against shipping this library as a dependency because it could affect other developers' projects
- Teams needing Objective-C only, since the README says the Objective-C version has moved to a separate repository
- Projects that do not target iOS, since the README lists iOS as the platform
How to get it
- 1
Install with a package manager
You'll need: Xcode 13 or later · iOS 13.0 deployment target or later · CocoaPods, Carthage, or Swift Package Manager
Add to Podfile (CocoaPods)
pod 'IQKeyboardManagerSwift' - 2
Run it
- Add the pod to your Podfile and run pod install
- Import IQKeyboardManagerSwift in AppDelegate.swift
- Set IQKeyboardManager.shared.isEnabled = true in didFinishLaunchingWithOptions
- Run your app and focus a text field near the bottom of the screen to check the behavior
- 3
Get the most out of it
- Add the IQKeyboardToolbarManager subspec for Previous/Next/Done toolbar buttons instead of the deprecated enableAutoToolbar flag
- Include only the subspecs you need, since the README says all are included by default
- Use the README's Swift version table to pick a release that matches your Xcode and Swift version
- Enable or disable the library around third-party UI that conflicts with it, as the README recommends
Downloads
Strengths
- The README says it needs no code beyond enabling it, so setup is short
- Works with standard UIKit components such as UIScrollView, UITableView and UICollectionView
- Installable through CocoaPods, Swift Package Manager or Carthage, and MIT licensed
Trade-offs
- The README warns that conflicts with other third-party libraries may require developers to enable or disable it manually around their UI
- Some features such as the toolbar are marked deprecated in the README in favor of separate pods
- Source-code installation is not supported since version 7.2.0, so the package manager route is required
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| IQKeyboardManager (this) | 16.6k | Library | beginner | 1 months ago | iOS app developers building forms or screens with several text inputs |
| SDWebImage | 25.6k | Library | intermediate | 7 months ago | iOS or macOS app developers who need to show remote images in lists or grids |
| Kingfisher | 24.4k | Library | beginner | 4 days ago | iOS or macOS developers who need to show remote images in lists or detail screens |
| SwifterSwift | 15.3k | Library | beginner | 4 days ago | Swift developers building iOS or macOS apps who want common helper methods ready to use |
| SVProgressHUD | 12.4k | Library | beginner | 8 months ago | iOS developers who need a quick loading indicator for a blocking task |
| FSCalendar | 10.6k | Library | intermediate | 2.2 years ago | iOS developers who need a calendar or date-picker view in their app |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.