DAKeyboardControl 2.4.0

DAKeyboardControl 2.4.0

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最后发布2014年12月

Daniel Amitay 维护。



  • 作者
  • Daniel Amitay

DAKeyboardControl 允许您通过一行代码轻松地向任何 UIViewUIScrollViewUITableView 添加键盘感知和滚动消失(类似于 iMessages 应用中的键盘收缩)。DAKeyboardControl 自动扩展 UIView 并提供一个以键盘当前框架为回调的代码块。

DAKeyboardControl 现在完全支持方向更改、iPhone 和 iPad,甚至在 iPad 上识别键盘卸载或拆分。

无任何技巧,完全安全,符合 App Store 要求。

Screenshot

YouTube 视频演示

安装

  • DAKeyboardControl 文件夹复制到您的项目文件夹。
  • #import "DAKeyboardControl.h"

使用方法

包含示例项目(DAKeyboardControlExample)

添加滑动移除功能(iMessages 中引入的功能)

[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];

在 VC 生命周期结束时移除 NSNotification 派发者(便捷方法)

[self.view removeKeyboardControl];

备注

在 App Store 中测试过!

所有代码均兼容 iOS 5.0+,且代码已很好地记录,并已在 App Store 上的生产应用程序中使用。

UITextView 一起使用

如果您希望它能够在其内部进行拖拽,请确保在 UITextView 本身上调用 addKeyboardPanningWithActionHandler:

第一次出现时的键盘延迟

标准 iOS 问题。使用 Brandon William 的 UIResponder 分类 在首次使用之前缓存键盘。

自动引用计数(ARC)支持

DAKeyboardControl 默认启用 ARC。

联系方式

如果您使用并喜欢 DAKeyboardControl,请告诉我!

许可证

MIT 许可证

版权所有 © 2012 Daniel Amitay (http://danielamitay.com)

以下条件下方允许任何获得本软件及其相关文档副本(“软件”)的个人免费处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许将软件提供给其他人员以供他们进行此类操作。

上述版权声明和本许可声明应包含在软件的副本或主要部分的副本中。

该软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的还是与特定目的相关性或非侵权性有关的保证。在没有任何情况下,作者或版权所有者不应对任何主张或损害赔偿或其他责任承担责任,无论这些主张、损害赔偿或其他责任是由于合同行为、侵权或其他方式,是否直接源于、源于或在软件或对软件的使用或其他操作中存在。