对iOS系统键盘的hack以及注意事项
2013-07-26 12:53
519 查看
原文转载自:http://hikui.is-programmer.com/posts/35019.html
感谢博主的分享。
对iOS系统键盘的hack以及注意事项
在做东方财富通新版的时候,需求组给出的新的需求是,数字键盘使用我们自己做的,而字母键盘使用系统自带的键盘,然而这里出现的一个问题就是,系统键盘进行输入法切换的时候是没有办法切换到自带的键盘中去的。这时候就需要对系统自带键盘进行hack。原理很简单,就是在系统键盘弹出来时找到系统键盘所在的UIView,然后贴上自己的按钮覆盖掉原先的按钮。难点在于如何找到系统键盘所在的View。
效果图:
从效果图上可见,原先系统键盘的123和地球的图标被替换成了自定义的按钮。
做法:首先在当前的ViewController中监听:UIKeyboardDidShowNotification
?
?
里面比较重要的是getSystemKeyboard方法:
?
最后需要注意的是,一个系统键盘在一个应用程序里面是共享的,所以如果这个ViewController中对键盘进行了hack,而在另外一个ViewController中不需要hack,那么需要在本ViewController退出的时候把Hack清理掉。但是在ViewWillDisappear中,我发现getSystemKeyboard方法寻找到的View并不是真正的keyboard,我的一个变通的办法就是在所有会导致ViewWillDisappear的步骤中插入clearKeyboardHack方法。
101年10月17日更新:
清理hack的时机应该是键盘将要隐藏前。只要在NotificationCenter中注册名为UIKeyboardWillHideNotification,收到notification的时候进行一次清理即可。
相关文章推荐
- iOS之 利用通知(NSNotificationCenter)获取键盘的高度,以及显示和隐藏键盘时修改界面的注意事项
- iOS 结构体 定义变量注意事项以及保存到数组与读取
- EMC 网络存储系统 开关机的注意事项以及步骤
- (iOS开发)UIScrollView的使用以及注意事项
- 微软CRM系统二次开发步骤以及注意事项
- iOS 项目架构以及注意事项规范
- 【iOS开发-43】万能的transform注意事项,以及viewWithTag以及.png后缀可以省略的一些知识
- Windows下添加MySQL服务到系统服务以及注意事项
- <填坑手册>Vuforia上架ios,以及分享功能注意事项
- 转:微软CRM系统二次开发步骤以及注意事项
- ios项目icon和default图片命名规则以及注意事项
- 微软CRM系统二次开发步骤以及注意事项
- iOS 定时器的使用以及注意事项
- 注意 iOS系统键盘的九宫格键盘输入的内容
- iOS基础知识:if 语句以及if语句的使用注意事项
- UEFI模式下,Windows 10专业版 和 Ubuntu 16.0.4 LTS双系统安装以及注意事项
- IOS打包动态库以及使用的过程和注意事项
- IOS 8 .0 系统UITableView 使用注意事项
- 【iOS开发-34】自己主动释放池@autoreleasepool的使用注意事项以及ARC机制——面试必考内容
- buildroot 文件系统添加telnet, ssh, 以及制作注意事项