Keyboard show hide handler for UIKit

Hanlde your view when keyboard show or hide, make sure that your input view is visible to user.

Simple, easy to use.

Install

Step 1: pod repo update if need Step 2: Add to Podfile

pod 'KeyboardShowHideHandler'

Step 3: pod install

How to use

Make your view controller conform KeyboardHandler, at viewWillAppear/viewWillDisappear just call addObservingKeyboard/removeObservingKeyboard to register/unregister the listener.

class ViewController: UIViewController {
  @IBOutlet var scrollView: UIScrollView!

  override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    addObservingKeyboard()
  }

  override func viewWillDisappear(_ animated: Bool) {
    removeObservingKeyboard()
  }
}

extension ViewController: KeyboardHandler {
  var contentScrollView: UIScrollView {
    scrollView
  }
}

More setting

extension ViewController: KeyboardHandler {
  var contentScrollView: UIScrollView {
    scrollView
  }

  var distanceToKeyboard: Int {
    return 10 /// distance from target input to top of keyboard
  }

  var tapAnywhereToDismissKeyboard: Bool {
    return true /// tap outside target view to dismiss keyboard
  }

  var supportViewTypes: [UIView.Type] {
    /// Which views type to apply for
    return [
      UITextField.self, UITextView.self
    ]
  }
}

Demo

GitHub

View Github