KeyboardMan
  • March 11, 2024

We may need keyboard infomation from keyboard notifications to do animation. However, the approach is complicated and easy to make mistakes. Even more, we need to handle the bug of system fire keyboard notifications.

But KeyboardMan will make it simple & easy.

另有中文介绍

Requirements


Swift 4.2, iOS 8.0

(Swift 3, use version 1.1.0)

Example


 

import KeyboardMan

Do animation with keyboard appear/disappear:

let keyboardMan = KeyboardMan()

keyboardMan.animateWhenKeyboardAppear = { [weak self] appearPostIndex, keyboardHeight, keyboardHeightIncrement in

print(“appear \(appearPostIndex), \(keyboardHeight), \(keyboardHeightIncrement)\n”)

if let self = self {

self.tableView.contentOffset.y += keyboardHeightIncrement
self.tableView.contentInset.bottom = keyboardHeight + self.toolBar.frame.height

self.toolBarBottomConstraint.constant = keyboardHeight
self.view.layoutIfNeeded()
}
}

keyboardMan.animateWhenKeyboardDisappear = { [weak self] keyboardHeight in

print(“disappear \(keyboardHeight)\n”)

if let self = self {

self.tableView.contentOffset.y -= keyboardHeight
self.tableView.contentInset.bottom = self.toolBar.frame.height

self.toolBarBottomConstraint.constant = 0
self.view.layoutIfNeeded()
}
}

For more specific information, you can use keyboardInfo that KeyboardMan post:

keyboardMan.postKeyboardInfo = { [weak self] keyboardMan, keyboardInfo in
// TODO
}

Check the demo for more information.

Installation


Feel free to drag KeyboardMan.swift to your iOS Project. But it’s recommended to use Carthage (or CocoaPods).

Carthage

github “nixzhu/KeyboardMan”

CocoaPods

pod ‘KeyboardMan’

GitHub


View Github

#keyboard
YOU MIGHT ALSO LIKE...
EEStackLayout

A vertical stackview which takes subviews with different widths and adds them to it's rows with paddings, spacings etc.

AudioManager

AudioManager is a Swift package that provides a modular and easy-to-use interface for implementing audio feedback in your applications. It ...

CameraBackground

Features Both front and back camera supported. Flash modes: auto, on, off. Countdown timer. Tap to focus. Pinch to zoom. Usage  

DKCamera

Description A light weight & simple & easy camera for iOS by Swift. It uses CoreMotion framework to detect device orientation, so ...