DAKeyboardControl
允许您通过一行代码轻松地向任何 UIView
、UIScrollView
或 UITableView
添加键盘感知和滚动消失(类似于 iMessages 应用中的键盘收缩)。DAKeyboardControl
自动扩展 UIView
并提供一个以键盘当前框架为回调的代码块。
DAKeyboardControl
现在完全支持方向更改、iPhone 和 iPad,甚至在 iPad 上识别键盘卸载或拆分。
无任何技巧,完全安全,符合 App Store 要求。
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 5.0+,且代码已很好地记录,并已在 App Store 上的生产应用程序中使用。
UITextView
一起使用如果您希望它能够在其内部进行拖拽,请确保在 UITextView
本身上调用 addKeyboardPanningWithActionHandler:
。
标准 iOS 问题。使用 Brandon William 的 UIResponder 分类 在首次使用之前缓存键盘。
DAKeyboardControl
默认启用 ARC。
如果您使用并喜欢 DAKeyboardControl
,请告诉我!
版权所有 © 2012 Daniel Amitay (http://danielamitay.com)
以下条件下方允许任何获得本软件及其相关文档副本(“软件”)的个人免费处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许将软件提供给其他人员以供他们进行此类操作。
上述版权声明和本许可声明应包含在软件的副本或主要部分的副本中。
该软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的还是与特定目的相关性或非侵权性有关的保证。在没有任何情况下,作者或版权所有者不应对任何主张或损害赔偿或其他责任承担责任,无论这些主张、损害赔偿或其他责任是由于合同行为、侵权或其他方式,是否直接源于、源于或在软件或对软件的使用或其他操作中存在。