Skip to content

chanonly123/AutoKeyboard

Repository files navigation

AutoKeyboard for iOS written in Swift

Automatic Keyboard handling with ease. It is fully automatic keyboard handling. Like in android no need to resize views when keyboard appears. It updates constraints which are bounded with bottomLayoutGuide or safeAreaLayoutGuide. Like bottomLayoutGuide or safeAreaLayoutGuide moves UP and DOWN with keyboard. Just need to register and unResgister thats it.

alt tag

Features

  • safeAreaLayoutGuide suppord added.
  • UITabBarController support added.
  • UIViewController extension, no need to extend classes.
  • Device rotation supported.
  • Multiple UIViewController support.
  • Extremely easy integration.
  • Automatic bottom constraints changes with keyboard
  • Resizing with animation.
  • No need to write extra code.
  • Just registerAutoKeyboard in viewDidLoad.
  • Callback support on keyboard willShow, didShow, willHide, didHide, willChangeFrame, didChangeFrame.
  • Example for keeping scroll position of scrollView
  • Ability to Register or Disable other constraints

Runtime Requirements

  • iOS8.0 or later
  • Xcode 8.0 - Swift 3.0 or later

Usage

Basic Usage

Alt text

  • Add constrainsts to bottomLayoutGuide or safeAreaLayoutGuide and they will update when keyboard appears.
  • And just Register your specific ViewController.
override func viewDidLoad() {
    registerAutoKeyboard()
}

Advanced Usage

registerAutoKeyboard(enable: [lblBottom], disable: [btnShowScrollBottom]) { (result) in
print("keyboard status \(result.status)")

switch result.status {
case .willShow:
// ...
case .didShow:
// ...
case .willHide:
// ...
case .didHide:
// ...
}
}

If you have custom tabbar, return the height

extension ViewController: AutoKeyboardOptions {
    var customTabbarExtraHeight: CGFloat { 50 }
}

Installing

CocoaPods

To integrate AutoKeyboard into your Xcode project using CocoaPods, specify it in your Podfile and run pod install.

platform :ios, '8.0'
use_frameworks!
pod 'AutoKeyboard'                 // for swift 5.0
pod 'AutoKeyboard', '~> 1.4.3'     // for swift 4.2

And import AutoKeyboard

Carthage

Coming soon

Contributing

Contributions are always welcome!

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments