为UIKeyboardTypeNumberPad增加自定义按键
来源:互联网 发布:阿里云 腾讯云哪个好 编辑:程序博客网 时间:2024/05/15 08:09
在iphone上面(ipad上没这问题)把键盘设为NumberPad之后,会发现那个”return”键没有了,而这时候你又不想很土的在text field旁边自己加个按钮来做诸如完成输入/dismiss键盘之类的动作,其实这个是有解药的。
有没有发现最底下那行的左边有个空位,在那里补一个”return”键不就可以了么。这时候你需要这2个png(分别是doneup.png和donedown.png):
如果你是在iOS4上面写的话,你会需要这2个,因为iOS4上面的软键盘左下角没圆角:
接着就开始写代码来把贴有这个图片的UIButton在需要的时候加到那个空位那里了。幸好有专门的notification是帮你做这件事情的。所以在需要键盘出来之前,例如是点击UITextField的当下,往NSNotificationCenter注册一下这个notification就可以了。
在iphone 3.2 SDK之前,注册的是 UIKeyboardWillShowNotification,iOS4开始就要用 UIKeyboardDidShowNotification了。
然后在用完键盘之后要记得从NSNotificationCenter注销掉,不然你的别的软键盘都会粘上这个按钮了。
最后就是要在 addButtonToKeyboard 这个方法里面把keyboard view找出来,把这个”DONE”的UIButton给粘上去了就完事了。前人已经找到了其实keyboard view就是在app的第二个UIWindow(看这里)。遍历一下这个UIWindow的孩子们,找到keyboard view,然后把UIButton贴到左下角。需要注意的是iOS4的keyboard view的description跟iphone3.2之前的是不一样的噢。
最后把你想象里面按了这个”DONE”键会发生的事情例如resignFirstResponder 之类的,写在 doneButton 方法里面就完成了。
Posted from Hangzhou, Zhejiang, China.
- 为UIKeyboardTypeNumberPad增加自定义按键
- 为UIKeyboardTypeNumberPad增加自定义按键
- 为UIKeyboardTypeNumberPad增加自定义按键
- UIKeyboardTypeNumberPad 数字键盘自定义按键
- UIKeyboardTypeNumberPad 数字键盘自定义按键
- 为log4j增加自定义级别
- 为FireFox增加自定义搜索引擎
- 为uboot增加自定义命令
- 如何为自定义控件增加编辑窗口
- 如何为自定义表增加主键
- Trac - 为Tickets增加自定义字段
- 为Yii增加一个自定义全局函数
- 为TDBLookupComboboxEh增加自定义列宽
- 为Extjs PagingToolbar增加自定义参数
- 为SQL增加自定义函数约束
- android 增加新按键
- 增加按键音
- android增加按键
- Silverlight 在MVVM中同步UI的SelectedItems和DataContext
- QString 与其它类的互转
- POJ3662 Telephone Lines [二分 最短路]
- 了解java
- Android入门学习_代码常用布局
- 为UIKeyboardTypeNumberPad增加自定义按键
- 位操作符的一些实用方法介绍
- 利用javascript是表单隔行换颜色
- log4j配置操作
- Eclipse+CDT 头文件无法解析的问题(Ubuntu 11.10,Eclipse 3.7)
- Uploading File with PHP and Client Side Scripting
- acm细节
- Package-Pipeline
- cocos2d-x 之 CCTextureAtlas 简介