VKDAKeyboardControl 2.3.2

VKDAKeyboardControl 2.3.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released上次发布2014年12月

未声明 维护。



  • by
  • Vlad Kovtash

DAKeyboardControl

DAKeyboardControl 允许您通过一行代码将键盘感知和滚动消失(类似 iMessages 应用中的键盘弹出)功能添加到任何 UIView、UIScrollView 或 UITableView。DAKeyboardControl 自动扩展 UIView,并提供带有键盘当前起始位置的 block 回调。

DAKeyboardControl 现在完全支持方向改变,iPhone 和 iPad,并且还能感知 iPad 上键盘的脱钩或分割。

没有任何技巧,完全符合 App Store 的要求。

Screenshot

YouTube 上的视频演示

iOS 7 (更新:2013年6月10日)

能提前获取 iOS7 SDK 和 Xcode 5 的开发者可能已经注意到了 SDK 中的新添加内容,与 DAKeyboardControl 相关。在适当的时候,DAKeyboardControl 将更新以反映这一新添加的功能。

安装

  • 复制 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 4.0+版本的兼容性,并有完善的文档,已在App Store的应用程序中进行实际使用。

与UITextView一起使用

如果要在UITextView中允许内部拖动,请确保调用addKeyboardPanningWithActionHandler:

首次出现键盘时的延迟

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

自动引用计数(Automatic Reference Counting, ARC)支持

DAKeyboardControl默认启用ARC。

联系

如果你使用/喜欢DAKeyboardControl,请告诉我!

许可证

MIT许可证

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

本许可证无偿授予任何获得本软件及其相关文档副本(以下称为“软件”)的人,准许其在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的人做上述处理,前提是在以下条件下

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

软件按“现状”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于适销性、适用于特定目的和不侵犯专利权。在任何情况下,作者或版权所有者对任何索赔、损害或其他责任(不论源于合同、侵权或其他原因),均不承担责任,包括但不限于与软件或软件的使用或其他处理有关的索赔、损害或其他责任。