做了三年开发 到现在才完美解决了弹键盘的问题
来源:互联网 发布:英国厨师知乎 编辑:程序博客网 时间:2024/05/09 11:35
前两年写textField弹键盘时总是把当前页面变成scrollView,然后监听 键盘通知做相应的改变,
但是有很多局限性,非常不爽,而且每次都要额外写很多代码,特别复杂。相比android自带关闭键盘按钮,真想打苹果设计师一顿。
之后发现safria浏览器里面每次弹键盘时,都会有<>完成三个按钮,心想肯定有一种第三方库可以解决键盘的问题。但是找了很长时间,也无果,最终放弃。
半年前看别人项目时,意外发现了一个叫UIKeyboardController的库,就四个文件,代码量特别少,但是效果已经跟safria里面的一样了,我非常高兴。仔细看了看代码,里面是用UIToolBar来实现的,代码是个人写的,所以有一些缺陷:
1.UIKeyboardController每次都必须写在ViewWillAppeare方法时,必须在页面所有的textField加载完了,才能初始化,否则会出错。
2.每当页面关闭时,要在ViewWillDisappeare把键盘关了,否则下次再进来页面会异常。
3.textField.delegate必须指向UIKeyboardController,导致当前viewController无法使用delegate,无法监听。
不过虽然用起来也不太爽,但是还是给我节省了大量的时间。
后来无意中在网上发现了一个第三方库IQKeyboadManager。这个库相当强大,你只要把它拖到项目里,就不用管了,连头文件都不用引用,不用自己初始化,还有比这更简单的吗?太强大了,最主要它兼容了很多种情况,把键盘可能出现的问题都考虑到了,总是是太强了,用了它,妈妈再也不担心我的学习了!
不过美中不足,它的左右箭头和完成按钮的颜色是灰色不是系统蓝色的,看起来不好看。为了改变颜色,我看了好长时间的源代码,但是无论怎么改都不管用,后来就因为这个原因,我放弃这了个库,害怕我的app让同行看见了嘲笑我。
现在想想真是可笑!现在终于弄明白了,只要把_defaultToolbarTintColor改成系统蓝色也就是
[UIColorcolorWithRed:0.0green:122.0/255.0blue:1.0alpha:1.0]
就可以了。
想想真是可悲,自己已经从事iOS开发3年了,到现在才真真的解决的了弹出和关闭键盘的问题,自己是够没出息的。
- 做了三年开发 到现在才完美解决了弹键盘的问题
- 毕业到现在我从事C++程序开发三年了,今天我要离职了
- 现在所做的事情决定了三年之后的生活状态
- 三年前一个域名问题,现在找到原因了
- android,键盘遮挡了输入框,完美解决android键盘遮挡问题
- 一个花了很长时间才解决的问题
- 做了多年的开发,现在又要开始从新做人,两次流鼻血了。
- 解决虚拟键盘挡住了输入框的问题
- 毕业到现在同家公司工作三年了,是否应该换换,C++??
- 说出来不好意思:从学C++开始,到现在8年了,才知道的using还有这种用法。
- 做ecshop 的二次的开发 遇到了问题 希望找人一起解决!
- 毕业设计才做了一点点
- 做了半天才发现
- 昨天电脑中毒了~现在才好
- 现在才写,晚了吗,嘎嘎
- 今天加班到现在,吃了个面包,有点无聊,讨厌做这种客户的软件。
- 辞职了,才做了两天
- 纠结了好久才弄得明白一点点的汉诺塔问题,现在把一些方程与大家分享一下!
- [kuangbin带你飞]专题六 最小生成树
- 关于finally的几个问题
- Oracle海量数据导入MongoDB 采用JAVA反射-Penghao
- iOS UITableViewCell重用问题
- Spark安装
- 做了三年开发 到现在才完美解决了弹键盘的问题
- qt 选择文件夹下的文件复制
- poj-3080-Blue Jeans-串-暴力
- TCP连接分组交换状态图显示
- 杭电acm 2162 Add ‘em
- UITextView实现placeholder的猥琐做法
- android 传感器(OnSensorChanged)使用介绍
- vb.net侧边栏图形菜单
- PHP curl 模拟登录并获取数据