KeyboardMan
我们可能需要从键盘通知中获取键盘信息来执行动画。然而,这个方法既复杂又容易出错。更重要的是,我们还需要处理系统触发键盘通知的bug。
但 KeyboardMan 会使它变得简单且容易。
另有一个中文介绍。
要求
Swift 4.2, iOS 8.0
(Swift 3, 使用版本 1.1.0)
示例
import KeyboardMan
使用键盘出现/消失执行动画
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 + strongSelf.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 = strongSelf.toolBar.frame.height
self.toolBarBottomConstraint.constant = 0
self.view.layoutIfNeeded()
}
}
对于更具体的信息,您可以使用 KeyboardMan 提供的 keyboardInfo
keyboardMan.postKeyboardInfo = { [weak self] keyboardMan, keyboardInfo in
// TODO
}
查看演示以获取更多信息。
安装
您可以自由地将 KeyboardMan.swift
拖到您的 iOS 项目中。但强烈建议使用 Carthage(或 CocoaPods)。
Carthage
github "nixzhu/KeyboardMan"
CocoaPods
pod 'KeyboardMan'
联系方式
NIX @nixzhu
许可
KeyboardMan 适用于MIT许可。更多信息请参阅LICENSE文件。