DAKeyboardControl 允许您通过一行代码将键盘感知和滚动消失(类似 iMessages 应用中的键盘弹出)功能添加到任何 UIView、UIScrollView 或 UITableView。DAKeyboardControl 自动扩展 UIView,并提供带有键盘当前起始位置的 block 回调。
DAKeyboardControl 现在完全支持方向改变,iPhone 和 iPad,并且还能感知 iPad 上键盘的脱钩或分割。
没有任何技巧,完全符合 App Store 的要求。
能提前获取 iOS7 SDK 和 Xcode 5 的开发者可能已经注意到了 SDK 中的新添加内容,与 DAKeyboardControl 相关。在适当的时候,DAKeyboardControl 将更新以反映这一新添加的功能。
DAKeyboardControl
文件夹到您的项目文件夹。#import "DAKeyboardControl.h"
包含示例项目(DAKeyboardControlExample)
[self.view addKeyboardPanningWithActionHandler:^(CGRect keyboardFrameInView) {
// Move interface objects accordingly
// Animation block is handled for you
}];
// Make sure to call [self.view removeKeyboardControl] before the view is released.
// (It's the balancing call)
[self.view addKeyboardNonpanningWithActionHandler:^(CGRect keyboardFrameInView) {
// Move interface objects accordingly
// Animation block is handled for you
}];
// Make sure to call [self.view removeKeyboardControl] before the view is released.
// (It's the balancing call)
keyboardTriggerOffset
属性让您选择用户何时“接触”键盘。
self.view.keyboardTriggerOffset = 44.0f; // Input view frame height
[self.view addKeyboardPanningWithActionHandler:^(CGRect keyboardFrameInView) {
// Move input view accordingly
// Animation block is handled for you
}];
// Make sure to call [self.view removeKeyboardControl] before the view is released.
// (It's the balancing call)
[self.view hideKeyboard];
[self.view removeKeyboardControl];
所有代码均符合iOS 4.0+版本的兼容性,并有完善的文档,已在App Store的应用程序中进行实际使用。
如果要在UITextView中允许内部拖动,请确保调用addKeyboardPanningWithActionHandler:
。
标准iOS问题。使用Brandon William的UIResponder类别在首次使用前缓存键盘。
DAKeyboardControl默认启用ARC。
如果你使用/喜欢DAKeyboardControl,请告诉我!
版权所有 (c) 2012 Daniel Amitay (http://danielamitay.com)
本许可证无偿授予任何获得本软件及其相关文档副本(以下称为“软件”)的人,准许其在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的人做上述处理,前提是在以下条件下
上述版权声明和本许可证声明应包含在软件或其主要部分的任何副本中。
软件按“现状”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于适销性、适用于特定目的和不侵犯专利权。在任何情况下,作者或版权所有者对任何索赔、损害或其他责任(不论源于合同、侵权或其他原因),均不承担责任,包括但不限于与软件或软件的使用或其他处理有关的索赔、损害或其他责任。