Keyboardy 0.2.7

Keyboardy 0.2.7

LangLanguage SwiftSwift
License MIT
ReleasedLast Release Jan 2020
SPMSupports SPM

Maintained by Andrew Podkovyrin.

Keyboardy 0.2.7


Version Carthage Compatible Accio supported License Platform


Keyboardy extends UIViewController with few simple methods and provides delegate for handling keyboard appearance notifications.

  • Keyboardy is just wrapper on UIKeyboardWillShowNotification and UIKeyboardWillHideNotification notifications.
  • Supports both AutoLayout and frame-based animations.
  • Swift implementation.
  • Without any hacks like method swizzling and magic numbers (ex., curve << 16).

Keyboardy Demo GIF


  • Import Keyboardy module
import Keyboardy
  • Register for keyboard notifications
override func viewWillAppear(_ animated: Bool) {

  • Unregister from keyboard notifications
override func viewWillDisappear(_ animated: Bool) {

  • Implement KeyboardStateDelegate
extension ViewController: KeyboardStateDelegate {

    func keyboardWillTransition(_ state: KeyboardState) {
        // keyboard will show or hide

    func keyboardTransitionAnimation(_ state: KeyboardState) {
        switch state {
        case .activeWithHeight(let height):
            textFieldContainerBottomConstraint.constant = height
        case .hidden:
            textFieldContainerBottomConstraint.constant = 0.0


    func keyboardDidTransition(_ state: KeyboardState) {
        // keyboard animation finished


To run the example project, clone the repo, and run pod install from the Example directory first.


Swift 5, iOS 8

Installation via CocoaPods

Keyboardy is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "Keyboardy"

Installation via Carthage

Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate Keyboardy into your Xcode project using Carthage, specify it in your Cartfile:

github "podkovyrin/Keyboardy"

Installation via Accio

  1. Add the following to your Package.swift:

    .package(url: "", .upToNextMajor(from: "0.2.7")),
  2. Next, add Keyboardy to your App targets dependencies like so:

    .target(name: "App", dependencies: ["Keyboardy"]),
  3. Then run accio update.


Andrew Podkovyrin, [email protected]


Keyboardy is available under the MIT license. See the LICENSE file for more info.