从此不再担心键盘遮住输入框OC(二)

字数544 阅读1492 评论15 喜欢25

在我发布这篇文章没多久之前,我发布了一篇叫 从此不再担心键盘遮住输入框OC(一)的文章。我在那篇文章中介绍了我的键盘组件KeyboardToolBar

新版效果图

KeyboardToolBar2 show

当时的KeyboardToolBar还只是支持UITextField。后来也有收到别人的建议,希望增加支持UITextField之类的。其实本人也早就想着再完善一下。正好这个周末不忙,我就稍微优化了下。发布了V2版本。

现在的KeyboardToolBar支持UITextFieldUITextViewUISearchBar。并且支持运行时(runtime),你只要在项目中导入"KeyboardToolBar.h"即可开始使用,无需额外代码。

KeyboardToolBar 是什么

KeyboardToolBar的主旨:从此不再担心键盘遮住输入框。目前是V2版本,如果想了解V1版本,请移步V1版本

如何开始使用

使用CocoaPods安装

Podfile

  platform :ios, '7.0'
pod "KeyboardToolBar"

Usage

现在,KeyboardToolBar支持UITextFieldUITextViewUISearchBar。并且支持运行时(runtime),你只要在项目中导入"KeyboardToolBar.h"即默认为所有的UITextFieldUITextViewUISearchBar自动注册使用了KeyboardToolBar,你无需使用额外的代码来开启。如果你不想用KeyboardToolBar,你可以使用相应的unregisterKeyboardToolBar方法来反注册即可移除KeyboardToolBar。如果你已经为某个控件移除了KeyboardToolBar,又想要继续使用,你可以使用相应的registerKeyboardToolBar方法为控件重新注册使用KeyboardToolBar

import

  /// 导入就是使用
/// 导入后,将自动为UITextField、UITextView和UISearchBar注册使用KeyboardToolBar
#import "KeyboardToolBar.h"

注册使用KeyboardToolBar

  /// 以下均为可选方法,你可以不使用。
/// 为UITextField注册使用KeyboardToolBar.
[KeyboardToolBar registerKeyboardToolBarWithTextField:self.textField];
/// 为UITextView注册使用KeyboardToolBar.
[KeyboardToolBar registerKeyboardToolBarWithTextView:self.textView];
/// 为UISearchBar注册使用KeyboardToolBar.
[KeyboardToolBar registerKeyboardToolBarWithSearchBar:self.searchBar];

反注册取消KeyboardToolBar

  /// 以下均为可选方法,你可以不使用。
/// 你可以为目标UITextField反注册取消使用KeyboardToolBar.
[KeyboardToolBar unregisterKeyboardToolBarWithTextField:self.textField];
/// 你可以为目标UITextView反注册取消使用KeyboardToolBar
[KeyboardToolBar unregisterKeyboardToolBarWithTextView:self.textView];
/// 你可以为目标UISearchBar反注册取消使用KeyboardToolBar.
[KeyboardToolBar unregisterKeyboardToolBarWithSearchBar:self.searchBar];

License

KeyboardToolBar is released under the MIT license.

从此不再担心键盘遮住输入框OC(的更多相关文章

  1. 从此不再担心键盘遮住输入框OC(一)

    文/Jiar_(简书作者)原文链接:http://www.jianshu.com/p/48993ff982c1著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 新版本在这里:从此不再担心 ...

  2. AppCompatActivity 去掉标题栏和EditText弹出软键盘遮住输入框问题

    1. AppCompatActivity去掉标题栏 此处除掉标题栏,需要注意一点,AppCompactActivity是继承自Activity.然而,AppCompactActivity据查看网上资料 ...

  3. 移动端Android软键盘遮住输入框解决!

    在使用vue的情况下,在输入框中添加 <textarea class="textarea" @click="isAndroid" :maxlength=& ...

  4. iOS 开发之路(登陆页键盘遮挡输入框问题)一

    在学习开发登陆页的时候,遇到的问题分享如下: 首先是swift 3.0 中,NotificationCenter 设置 selector 如下: @IBOutlet weak var bottomCo ...

  5. UITextField控件处理键盘弹出时遮住输入框的问题

    原文连接: http://www.devdiv.com/thread-70159-1-1.html 实现以下三个方法,如果弹出的键盘会遮住输入框 ,整体的界面会向上移动,这样就不会遮住输入框了.自己增 ...

  6. Runtime学习与使用(一):为UITextField添加类目实现被键盘遮住后视图上移,点击空白回收键盘

    OC中类目无法直接添加属性,可以通过runtime实现在类目中添加属性. 在学习的过程中,试着为UITextField添加了一个类目,实现了当TextField被键盘遮住时视图上移的功能,顺便也添加了 ...

  7. iOS 键盘遮挡输入框万能解决方案(多个输入框)

    效果图如下: 思路分析: 代码: 知识点: 问题: 效果图如下: 思路分析: 当我们有很多输入框时,有时候键盘弹出来会遮挡着输入框.我们需要获取输入框和键盘相对于最外层视图的位置来判断是否遮挡,如果遮 ...

  8. PHP 依赖注入,从此不再考虑加载顺序

    说这个话题之前先讲一个比较高端的思想--'依赖倒置原则' "依赖倒置是一种软件设计思想,在传统软件中,上层代码依赖于下层代码,当下层代码有所改动时,上层代码也要相应进行改动,因此维护成本较高 ...

  9. Android软键盘与输入框的设置

    大家开发Android或者用app的时候会发现转到输入框就会自动弹出软键盘,切换别的页面就会自动的隐藏,下面几行代码用的熟练了就行了: 1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) I ...

随机推荐

  1. 安装Wamp后 Apache无法启动的解决方法

    安装Wamp后 Apache无法启动的解决方法,网上的解决方案可以说是五花八门,有些说了一大推,一点作用都起不到. 其实解决方法只需两步: 1.安装路径不能包含有中文,这个我不知道为什么,总之如果安装 ...

  2. CSAPP 第二章随笔

    类型转换问题 (1)int -> short 二进制位高位截断,低位保持不变 (2)同类型 unsign -> sign 记住二进制位是不变的 (3)P101页提到的编译器乘法优化问题,一 ...

  3. twitter的ID生成器的snowFlake算法的自造版

    snowFlake算法在生成ID时特别高效,可参考:https://segmentfault.com/a/1190000011282426 SnowFlake算法生成id的结果是一个64bit大小的整 ...

  4. cuda纹理内存的使用

    CUDA纹理内存的访问速度比全局内存要快,因此处理图像数据时,使用纹理内存是一个提升性能的好方法. 贴一段自己写的简单的实现两幅图像加权和的代码,使用纹理内存实现. 输入:两幅图 lena, moon ...

  5. jquery ui-----弹出窗口 dialog

    jquery ui 提供了强大的dialog功能,基本能满足开发的功能. 先上一个简单的例子: [代码] <script> $(function() {   $( "#dialo ...

  6. C# winform引用com组件,创建AXHOST组件失败解决方案

    解决方法非常简单,请首先关闭你的开发工具然后删除所有*.vshost.exe 的文件. 重新打开visual studio开发工具,重新编译你的程序.

  7. python_如何让字典保持有序?

    案例: 某编程竞赛系统,对参赛选手编程解题进行计时,选手完成题目后,把该选手解题用时记录到字典中,以便赛后按选手名查询成绩(答题时间越短,成绩越优秀) {'lili':(1,43),'yuyu':(2 ...

  8. MS SQL 日志记录管理

    MS SQL的日志信息/日志记录,可能对你来说,既熟悉又陌生,熟悉是因为你可能一直都在使用,查看.关注一些日志信息/记录,例如,作业历史记录:陌生是因为你可能从不关注日志信息/记录的管理,这里我一直用 ...

  9. grails项目中(DB的相关操作)

    grails项目中(DB的相关操作) save:保存Domain对象的数据到对应的库表中(可能是insert也可能是update) findBy: 动态方法,查找并返回第一条记录,方法名可以变化 eg ...

  10. keytool 错误:java.to.FileNotFoundException:

    老是报如题的错误: 后来才知道是因为当前的目录下没有写的权限,所以需要指定一个路径来存放android.key: keytool -genkey -alias android.key -keyalg ...