从此不再担心键盘遮住输入框OC(
从此不再担心键盘遮住输入框OC(二)
在我发布这篇文章没多久之前,我发布了一篇叫 从此不再担心键盘遮住输入框OC(一)的文章。我在那篇文章中介绍了我的键盘组件KeyboardToolBar。
新版效果图
当时的KeyboardToolBar还只是支持
UITextField。后来也有收到别人的建议,希望增加支持UITextField之类的。其实本人也早就想着再完善一下。正好这个周末不忙,我就稍微优化了下。发布了V2版本。现在的KeyboardToolBar支持
UITextField、UITextView和UISearchBar。并且支持运行时(runtime),你只要在项目中导入"KeyboardToolBar.h"即可开始使用,无需额外代码。
KeyboardToolBar 是什么
KeyboardToolBar的主旨:从此不再担心键盘遮住输入框。目前是V2版本,如果想了解V1版本,请移步V1版本。
如何开始使用
- 下载KeyboardToolBar并尝试在你的iPhone上运行DEMO。
使用CocoaPods安装
Podfile
platform :ios, '7.0'
pod "KeyboardToolBar"
Usage
现在,KeyboardToolBar支持UITextField、UITextView和UISearchBar。并且支持运行时(runtime),你只要在项目中导入"KeyboardToolBar.h"即默认为所有的UITextField、UITextView和UISearchBar自动注册使用了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(的更多相关文章
- 从此不再担心键盘遮住输入框OC(一)
文/Jiar_(简书作者)原文链接:http://www.jianshu.com/p/48993ff982c1著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 新版本在这里:从此不再担心 ...
- AppCompatActivity 去掉标题栏和EditText弹出软键盘遮住输入框问题
1. AppCompatActivity去掉标题栏 此处除掉标题栏,需要注意一点,AppCompactActivity是继承自Activity.然而,AppCompactActivity据查看网上资料 ...
- 移动端Android软键盘遮住输入框解决!
在使用vue的情况下,在输入框中添加 <textarea class="textarea" @click="isAndroid" :maxlength=& ...
- iOS 开发之路(登陆页键盘遮挡输入框问题)一
在学习开发登陆页的时候,遇到的问题分享如下: 首先是swift 3.0 中,NotificationCenter 设置 selector 如下: @IBOutlet weak var bottomCo ...
- UITextField控件处理键盘弹出时遮住输入框的问题
原文连接: http://www.devdiv.com/thread-70159-1-1.html 实现以下三个方法,如果弹出的键盘会遮住输入框 ,整体的界面会向上移动,这样就不会遮住输入框了.自己增 ...
- Runtime学习与使用(一):为UITextField添加类目实现被键盘遮住后视图上移,点击空白回收键盘
OC中类目无法直接添加属性,可以通过runtime实现在类目中添加属性. 在学习的过程中,试着为UITextField添加了一个类目,实现了当TextField被键盘遮住时视图上移的功能,顺便也添加了 ...
- iOS 键盘遮挡输入框万能解决方案(多个输入框)
效果图如下: 思路分析: 代码: 知识点: 问题: 效果图如下: 思路分析: 当我们有很多输入框时,有时候键盘弹出来会遮挡着输入框.我们需要获取输入框和键盘相对于最外层视图的位置来判断是否遮挡,如果遮 ...
- PHP 依赖注入,从此不再考虑加载顺序
说这个话题之前先讲一个比较高端的思想--'依赖倒置原则' "依赖倒置是一种软件设计思想,在传统软件中,上层代码依赖于下层代码,当下层代码有所改动时,上层代码也要相应进行改动,因此维护成本较高 ...
- Android软键盘与输入框的设置
大家开发Android或者用app的时候会发现转到输入框就会自动弹出软键盘,切换别的页面就会自动的隐藏,下面几行代码用的熟练了就行了: 1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) I ...
随机推荐
- NodeJS、NPM安装配置与测试步骤(windows版本)
1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的"INS ...
- action之间传参为中文;type='redirect'和 type='redirectAction'主要区别
摘录自:http://blog.csdn.net/lhi705/article/details/7446156 Struts2中action之间传参中文乱码的问题 解决方法一(已经验证,可以): 两个 ...
- Jquery如何删除table里面checkbox选中的多个行
思路:遍历被选中的checkbox对象→根据选中项筛选出需要删除的行→删除行.实例说明如下: 1.HTML结构 <table id = "test_table"> &l ...
- Excel的列编号 例如:A对应1,Z对应26,AA对应27,AZ对应52的JavaScript怎么写?
今天碰到的题目,当时不会.回来想了一会,调试了一下,然后想上网对答案,发现竟然没有!!! function str(num){ if(num<=0){ alert("excel表格貌似 ...
- ASP.NET Core Razor页面禁用防伪令牌验证
在这篇短文中,我将向您介绍如何ASP.NET Core Razor页面中禁用防伪令牌验证. Razor页面是ASP.NET Core 2.0中增加的一个页面控制器框架,用于构建动态的.数据驱动的网站: ...
- Centos7 开放防火墙端口命令
Centos 7 使用firewalld代替了原来的iptables,使用方法如下: >>>关闭防火墙 systemctl stop firewalld.service ...
- 1_mysql_认识
什么是数据库? -- 数据 -- 处理+存储 信息 -- 数据库 -- 存取数据 软件 本质是对文件系统的上层封装,通过软件去管理文件,管理数 ...
- 从LINQ开始之LINQ to Objects(上)
LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源. LINQ体系结构 从上图可以看出,LIN ...
- android onSaveInstanceState应用实例
//activity销毁之前调用,把状态值存储上 @Override protected void onSaveInstanceState(Bundle outState) { outState.pu ...
- MTU,MSS基本概念
传输层: 对于UDP协议来说,整个包的最大长度为65535,其中包头长度是65535-20=65515: 对于TCP协议来说,整个包的最大长度是由最大传输大小(MSS,Maxitum Segment ...