(译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0)

简介: (译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0)  更新:ios4.1现在已经将这个做到SDK了。你可以设置键盘类型为UIKeyboardTypeDecimalPad!完成! 在开发iphone程序的时候你可以选择各种键盘。

(译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0) 

更新:ios4.1现在已经将这个做到SDK了。你可以设置键盘类型为UIKeyboardTypeDecimalPad!完成!

在开发iphone程序的时候你可以选择各种键盘。其中的数字面板却没有带小数点。在底部的左下角有一个空白按钮,什么作用都没有。所以我将向你展示怎么将一个小数点按钮放在那里,看起来像这样的: 


有一些其他的教程向你展示如何做到这样,但是我相信我的更好。因为代码简单易用,更灵活,并且UI颜色和按钮状态完美的融入键盘余下的部分(和一些教程不同)。你用来实现的代码和类似这样的:

@interface DecimalPointNumberPadViewController :UIViewController <UITextFieldDelegate> {

        NumberKeypadDecimalPoint*numberKeyPad;

}

@end

 

@implementation DecimalPointNumberPadViewController

- (void) textFieldDidBeginEditing:(UITextField*)textField {

        numberKeyPad= [[NumberKeypadDecimalPoint keypadForTextField:textField] retain];

}

- (void)textFieldDidEndEditing:(UITextField *)textField {

        [numberKeyPadrelease];

}

@end

 

·       它适合于任何view conreoller上显示的任何UITextFields.

·       每一个text field只会添加一个小数点.

这里是我实现的基本步骤:

1.   创建一个自定义的背景透明并且文本为灰色的UIButton.

2.   高亮状态我改变按钮的背景图片和文本颜色换成白色

3.   我找到程序里windows的UIKeyboard并将自定义按钮添加指定位置

4.   我添加一个delegate到按钮上来监听点击事件并发送事件到添加小数点到UITextField的handler

2010年6月5日更新:OS4兼容并只使用公开API

由于使用私有API违反了SDK的协议,我已经更新代码移除任何和私有API相关的代码。并且现在在OS4.0上兼容。

2010年7月20日更新:这份代码作为我开发的app的一部分并且已经被apple接受。

我的xcode的一份拷贝:

DecimalPointNumberPad-v4

谢谢

相关文章
|
运维 Kubernetes 中间件
开发 k8s 管理平台 - k8sailor 04. 使用 gin 创建第一个 API 接口
开发 k8s 管理平台 - k8sailor 04. 使用 gin 创建第一个 API 接口
251 0
开发 k8s 管理平台 - k8sailor 04. 使用 gin 创建第一个 API 接口
|
存储 Kubernetes API
Kubernetes 集群 API 创建管理
Kubernetes 集群 API 创建管理
550 1
|
Shell API Python
OS库常用API讲解
OS库常用API讲解
322 0
|
前端开发 API
react实战笔记24:三个api之二原生创建2注意点
react实战笔记24:三个api之二原生创建2注意点
113 0
react实战笔记24:三个api之二原生创建2注意点
|
前端开发 API
react实战笔记22:三个api之一原生创建1
react实战笔记22:三个api之一原生创建1
111 0
react实战笔记22:三个api之一原生创建1
|
前端开发 API
react实战笔记23:三个api之一原生创建2注意点
react实战笔记23:三个api之一原生创建2注意点
100 0
react实战笔记23:三个api之一原生创建2注意点
|
存储 Java 大数据
Java API:介绍&amp;创建节点|学习笔记
快速学习 Java API:介绍&amp;创建节点
117 0
Java API:介绍&amp;创建节点|学习笔记
|
XML JSON 前端开发
创建一个 API | 学习笔记
简介:快速学习创建一个 API
298 0
创建一个 API | 学习笔记
|
Java API 调度
Java多线程基础(线程与进程的区别,线程的创建方式及常用api,线程的状态)
每一个线程都是一个执行流,都按照自己的顺序执行自己的代码,多个线程之间“同时”(并发并行)的执行多份代码。Java中的线程是以轻量级进程来实现的。
Java多线程基础(线程与进程的区别,线程的创建方式及常用api,线程的状态)
|
Web App开发 XML 开发框架
WebAPI学习(一)——创建Web API程序
WebAPI学习(一)——创建Web API程序
295 0
下一篇
无影云桌面