更新: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

谢谢

(译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0)的更多相关文章

  1. POI 导出excel带小数点的数字格式显示不对解决方法

    最近看到了一个问题就是java导出excel中带小数点的数字显示不对, 比如我想在excel中第一行显示:  3,000.0 但是在excle中导出的格式总是不带小数点 3000(非文本格式),而且也 ...

  2. iOS-Apple苹果iPhone开发公开API

      iOS-Apple苹果iPhone开发 //技术博客http://www.cnblogs.com/ChenYilong/   新浪微博http://weibo.com/luohanchenyilo ...

  3. Revit API 创建带箭头的标注

      [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class cmd : ...

  4. JS正则表达式检验数字或者带小数点的数字

    1. var patrn = /^\d+(\.\d+)?$/; var num = 0.11; if (!patrn.exec(num)){ alert("请您输入数字");ret ...

  5. Js正则表达式数字或者带小数点的数字

    function chk() { var patrn = /^\d+(\.\d+)?$/; var result = true; $("input[type=text]").eac ...

  6. js限制文本框只能输入整数或者带小数点[转]

    这篇文章是关于js限制文本框只能输入整数或者带小数点的内容,以下就是该内容的详细介绍. 做表单验证的时候是否会碰到验证某个输入框内只能填写数字呢,仅允许输入整数数字或者带小数点的数字.下面这段代码也许 ...

  7. 使用Win32 API创建不规则形状&带透明色的窗口

    前一阵突然想起了9月份电面某公司实习时的二面题,大概就是说怎么用Win32 API实现一个透明的窗口,估计当时我的脑残答案肯定让面试官哭笑不得吧.所以本人决定好好研究下这个问题.经过一下午的摸索,基本 ...

  8. REST API设计指导——译自Microsoft REST API Guidelines(四)

    前言 前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本.那么什么是好的API设计?这里我们不得不提到REST API. 关于REST API的书籍很多,但是完整 ...

  9. 使用Spring Animation的API创建动画

    pring Animation 是一种特殊的动画曲线,自从 iOS 7 开始被广泛应用在系统动画中. Spring Animation 是Linear(线性即匀速)动画.Ease-out(即动画减速地 ...

随机推荐

  1. Max Sum(hd P1003)

    Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum ...

  2. 使用事件CreateEvent注意事项

    HANDLECreateEvent( LPSECURITY_ATTRIBUTESlpEventAttributes,// 安全属性 BOOLbManualReset,// 复位方式 BOOLbInit ...

  3. 实现Linux下的U盘(USB Mass Storage)驱动

    如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Cri ...

  4. hdu 2222 Keywords_ac自动机模板

    题意:给你n个单词,再给你一串字符,求在字符中有多少个单词出现过 #include <iostream> #include<cstdio> #include<cstrin ...

  5. Xcoder 7.0 免证书真机测试

    相信大家已经看了WWDC大会上的内容了,在iOS9和Xcoder7.0以后真机测试不需要在购买付费账号了,(当然你要想上传appstore还是需要付费账号的). 今天我带大家来看下免证书的真机测试如何 ...

  6. UVA11387 - The 3-Regular Graph(推理)

    题目链接 题意:给n个点,问能否画出一个无向图.且每一个顶点连接3条边.假设能够的话输出连接的边. 思路:当添加一条边时,总的无向图的度数会添加2,所以度数之和n*2为偶数.当n为奇数时,度数之和为奇 ...

  7. Kafka的可靠性问题

    a. Producer到broker 把request.required.acks设为1,丢会重发,丢的概率很小 b. Broker b.1 对于broker,落盘的数据,除非磁盘坏了,不会丢的 b. ...

  8. css float笔记

    float 1.破坏性,让设置了float属性的元素脱离文档流 2.包裹性:div设置了float之后,其宽度会自动调整为包裹住内容宽度,而不是撑满整个父容器.如果没有包裹性,如何实现文字环绕(flo ...

  9. css控制父元素下的子元素自适应高度,且高度一致

    css代码: .wrap{width:600px;margin:0 auto; overflow:hidden;} .left{background:#ccc;width:300px;float:le ...

  10. IIS ,未能加载文件或程序集“System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。

    1.解决办法:安装MSChart.exe程序 图表控件,下载附件,以管理员身份运行安装.