#import <AAKeyboardManager/AAKeyboardManager.h>
有一个示例项目,包含两个示例:一个带有常规视图的示例,另一个带有滚动视图的示例,都使用 AutoLayout
。要运行示例项目,请先克隆仓库,然后从 Example 目录中运行 pod install
。
UIScrollView
如果您要动画滚动视图及其子类(如 UICollectionView
AAScrollViewController。
UIView
如果您要动画常规视图,请参阅示例项目中的 AAViewController
。
目前有三个默认动画器
AAKeyboardManager::addConstraintAnimator
动画约束,修改其 constant
属性。
AAKeyboardManager::addFrameAnimator
动画视图框架,修改其高度。
AAKeyboardManager::addScrollViewAnimator
动画滚动视图,修改其内容内边距、滚动指示器内边距以及可选的内容偏移量。
初始化一个动画器后,您可以将其添加到键盘管理器中:[keyboardManager addAnimator: someAnimator]
。
目前有两种创建动画器的方法
创建一个实现了 AAKeyboardAnimator
协议的类并将其添加到您的键盘管理器中,参见源代码中的默认动画器类实例。
使用 addAnimation:
方法
__weak typeof(self) weakSelf = self;
[keyboardManager addAnimation: ^(AAKeyboardNotification *notification) {
CGRect frame = weakSelf.myView.frame;
CGFloat keyboardHeight = notification.newFrame.size.height;
if(notification.type == AAKeyboardWillShow)
frame.size.height -= keyboardHeight;
else if(notification.type == AAKeyboardWillHide)
frame.size.height += keyboardHeight;
}
Anıl Anar
AAKeyboardManager 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。