Skip to content

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
Step-by-step guide: how to use IQKeyboardManagerInstall, first run, examples, tips and FAQs

How to get it

  1. 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. 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. 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

ProjectStarsTypeLevelUpdatedBest for
IQKeyboardManager (this)16.6kLibrarybeginner1 months agoiOS app developers building forms or screens with several text inputs
SDWebImage25.6kLibraryintermediate7 months agoiOS or macOS app developers who need to show remote images in lists or grids
Kingfisher24.4kLibrarybeginner4 days agoiOS or macOS developers who need to show remote images in lists or detail screens
SwifterSwift15.3kLibrarybeginner4 days agoSwift developers building iOS or macOS apps who want common helper methods ready to use
SVProgressHUD12.4kLibrarybeginner8 months agoiOS developers who need a quick loading indicator for a blocking task
FSCalendar10.6kLibraryintermediate2.2 years agoiOS 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.