Objective-c 库,用于跟踪 iOS 应用中的键盘。
如果您使用 Cocoapods,添加到您的 Podfile
pod 'NgKeyboardTracker'手动添加到您的项目
NgKeyboardTracker 文件夹中的文件添加到您的项目中。UIKit。NgKeyboardTracker 封装了 iOS 应用中的键盘跟踪。它使得在任何地方查询键盘的属性都变得方便。
您还可以使用 NgKeyboardTracker 来实现 iOS 7 上 iMessage 的文本输入行为(使用 UIScrollViewKeyboardDismissModeInteractive 和持久的 inputAccessoryView)通过 NgPseudoInputAccessoryViewCoordinator。
在您的应用程序代理中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[NgKeyboardTracker sharedTracker] start]; // start tracking
return YES;
}
- (void)applicationWillTerminate:(UIApplication *)application {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
[[NgKeyboardTracker sharedTracker] stop]; // stop tracking
}NgKeyboardTrackerDelegate 协议。-addDelegate: 方法注册为代理-removeDelegate: 来停止接收键盘更新键盘跟踪器属性
appearanceState : 当前显示状态beginFrame : 最后已知的开始帧endFrame: 最后已知的结束帧currentFrame: 最后已知的当前键盘帧animationDuration: 最后已知的动画持续时间animationCurve: 最后已知的动画曲线animationOptions : 从 animationCurve 导出,方便使用注意事项:键盘的 frame.size.height 系统键盘高度加上 inputAccessoryView 高度。
NgPseudoInputAccessoryViewCoordinator 是 NgKeyboardTracker 的扩展,它通过使用 UIScrollViewKeyboardDismissModeInteractive 和持久 inputAccessoryView,使在 iOS 7 上实现 iMessage 的文本输入行为变得更容易。
视图控制器
loadView 以设置自定义的 UIView 实现。becomeFirstResponder。自定义视图
-createPseudoInputAccessoryViewCoordinator 创建 NgPseudoInputAccessoryViewCoordinator。-canBecomeFirstResponder,返回 YES。-inputAccessoryView,返回协调器的pseudoInputAccessoryView。UIScrollView的键盘隐藏模式设置为UIScrollViewKeyboardDismissModeInteractive。-setPseudoInputAccessoryViewHeight:设置输入辅助视图所需的高度。NgKeyboardTracker在layoutSubviews中获得的信息相应布局键盘栏。备注:请参见示例演示应用。