Skip to content

IQKeyboardManager Objective-C version has been moved here and no longer maintained.

License

Notifications You must be signed in to change notification settings

hackiftekhar/IQKeyboardManagerObjC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Icon

LICENSE.md Build Status Platform iOS CocoaPods Github tag

IQKeyboardManager Objective-C version is less likely to maintain. Please use the Swift version for your upcoming projects https://github.com/hackiftekhar/IQKeyboardManager

Introduction

While developing iOS apps, we often run into issues where the iPhone keyboard slides up and covers the UITextField/UITextView. IQKeyboardManagerObjC allows you to prevent this issue of keyboard sliding up and covering UITextField/UITextView without needing you to write any code or make any additional setup. To use IQKeyboardManagerObjC you simply need to add source files to your project.

Key Features

  1. One Lines of Code

  2. Works Automatically

  3. No More UIScrollView

  4. No More Subclasses

  5. No More Manual Work

  6. No More #imports

IQKeyboardManagerObjC works on all orientations, and with the toolbar. It also has nice optional features allowing you to customize the distance from the text field, behavior of previous, next and done buttons in the keyboard toolbar, play sound when the user navigates through the form and more.

Screenshot

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

GIF animation

IQKeyboardManagerObjC

Video

IQKeyboardManagerObjC Demo Video

Tutorial video by @rebeloper (#1135)

@rebeloper demonstrated two videos on how to implement IQKeyboardManagerObjC at it's core:

Youtube Tutorial Playlist

https://www.youtube.com/playlist?list=PL_csAAO9PQ8aTL87XnueOXi3RpWE2m_8v

Warning

  • If you're planning to build SDK/library/framework and want to handle UITextField/UITextView with IQKeyboardManagerObjC then you're totally going the wrong way. I would never suggest to add IQKeyboardManagerObjC as dependency/adding/shipping with any third-party library. Instead of adding IQKeyboardManagerObjC you should implement your own solution to achieve same kind of results. IQKeyboardManagerObjC is totally designed for projects to help developers for their convenience, it's not designed for adding/dependency/shipping with any third-party library, because doing this could block adoption by other developers for their projects as well (who are not using IQKeyboardManagerObjC and have implemented their custom solution to handle UITextField/UITextView in the project).
  • If IQKeyboardManagerObjC conflicts with other third-party library, then it's developer responsibility to enable/disable IQKeyboardManagerObjC when presenting/dismissing third-party library UI. Third-party libraries are not responsible to handle IQKeyboardManagerObjC.

Requirements

Minimum iOS Target Minimum Xcode Version
IQKeyboardManagerObjC iOS 13.0 Xcode 13
Demo Project Xcode 15

Installation

CocoaPods

IQKeyboardManagerObjC: To install it, simply add the following line to your Podfile:

pod 'IQKeyboardManagerObjC' #iOS13 and later

Carthage

To integrate IQKeyboardManagerObjC into your Xcode project using Carthage, add the following line to your Cartfile:

github "hackiftekhar/IQKeyboardManagerObjC"

Run carthage update --use-xcframeworks to build the frameworks and drag IQKeyboardManagerObjC.xcframework into your Xcode project based on your need. Make sure to add only one framework, not both.

Source Code

IQKeyboardManagerObjC: Just drag and drop IQKeyboardManagerObjC directory from demo project to your project. That's it.

Basic Usage

In AppDelegate..m, just #import <IQKeyboardManagerObjC/IQKeyboardManager.h> framework and enable IQKeyboardManager.

#import "AppDelegate.h"
#import <IQKeyboardManagerObjC/IQKeyboardManager.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[IQKeyboardManager sharedManager] setEnable:YES];
    return YES;
}

@end

Migration Guide

Other Links

LICENSE

Distributed under the MIT License.

Contributions

Any contribution is more than welcome! You can contribute through pull requests and issues on GitHub.

Author

If you wish to contact me, email at: hack.iftekhar@gmail.com

About

IQKeyboardManager Objective-C version has been moved here and no longer maintained.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 92