Repolode
hackiftekhar

hackiftekhar/IQKeyboardManager

A drop-in iOS library that stops the keyboard from covering UITextField and UITextView, with no code required.

Stars
16,619
Forks
2,441
Open issues
10
Last commit
last month

What is it?

When an iOS app's keyboard slides up, it often covers the UITextField or UITextView the user is typing into. IQKeyboardManager handles this automatically: after you enable it, it adjusts the view so the active input field stays visible above the keyboard, without requiring per-screen code.

The library works with UIScrollView, UITableView and UICollectionView, supports all interface orientations, and lets you configure the distance kept between the keyboard and the field. Class-level enable/disable control lets you turn it off for specific screens.

The Swift version, IQKeyboardManagerSwift, is split into subspecs so you can include only the optional pieces you need, such as the Previous/Next/Done toolbar, return key handling, tap-to-resign, keyboard appearance settings, and a UITextView with placeholder support. It is installable via CocoaPods, Carthage and Swift Package Manager, and requires iOS 13.0 or later.

Key features

  • 01Automatically keeps the active UITextField or UITextView visible above the keyboard.
  • 02Works with UIScrollView, UITableView and UICollectionView without subclassing.
  • 03Supports all interface orientations and a configurable keyboard distance.
  • 04Optional subspecs add a Previous/Next/Done toolbar, return key handling and tap-to-resign.
  • 05Includes keyboard appearance configuration and a UITextView with placeholder support.

Use cases

  • Adding keyboard handling to existing iOS apps with login or form screens.
  • Avoiding keyboard overlap in table or collection views containing text inputs.
  • Quickly adding a Done/Next toolbar to forms without writing custom accessory views.

Quick start

  1. 1

    Add the pod to your Podfile

    pod 'IQKeyboardManagerSwift'
  2. 2

    Enable IQKeyboardManager in AppDelegate with IQKeyboardManager.shared.isEnabled = true

Things to know

  • iOS only; it does not support other platforms.
  • The author advises against shipping it as a dependency inside third-party SDKs or libraries.
  • Source code installation is no longer supported since version 7.2.0.

Topics

FAQ

What is IQKeyboardManager?
A drop-in iOS library that stops the keyboard from covering UITextField and UITextView, with no code required. When an iOS app's keyboard slides up, it often covers the UITextField or UITextView the user is typing into. IQKeyboardManager handles this automatically: after you enable it, it adjusts the view so the active input field stays visible above the keyboard, without requiring per-screen code.
Is IQKeyboardManager free to use? What license does it have?
IQKeyboardManager is open source under the MIT license. Check the license terms before using it in commercial products.
Is IQKeyboardManager still maintained?
Updated within 6 months. The last commit to IQKeyboardManager was on Sep 28, 2026.
What can I use IQKeyboardManager for?
Adding keyboard handling to existing iOS apps with login or form screens. Avoiding keyboard overlap in table or collection views containing text inputs. Quickly adding a Done/Next toolbar to forms without writing custom accessory views.
How do I install IQKeyboardManager?
Add the pod to your Podfile: pod 'IQKeyboardManagerSwift' Enable IQKeyboardManager in AppDelegate with IQKeyboardManager.shared.isEnabled = true
Where can I get IQKeyboardManager?
The source code and installation instructions are on GitHub: https://github.com/hackiftekhar/IQKeyboardManager

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects