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...
SVGView

Overview The goal of this project is to bring the full power of SVG to Apple platforms. Our framework can ...

WrappingHStack

WrappingHStack is a UI Element that works in a very similar way to HStack, but automatically positions overflowing elements on ...

SwiftSpeech

Recognize your user's voice elegantly without having to figure out authorization and audio engines. SwiftSpeech Examples Features Installation Getting Started ...

SwiftUIValueSlider

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

Sliders

Sliders is a compilation of all my stylable drag based SwiftUI components. It provides a variety of unique controls as well ...