更新: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. [python] 如何用python操作Excel

    直接上代码: from openpyxl import Workbook from openpyxl.cell import get_column_letter wb = Workbook() des ...

  2. C# 如何获取当前应用程序的父目录

    //获取当前运行路径的上级目录(父目录) System.IO.DirectoryInfo topDir = System.IO.Directory.GetParent(System.Environme ...

  3. 各种浏览器兼容篡位的css样式写法

    谷歌浏览器的识别 @media screen and (-webkit-min-device-pixel-ratio:0) { height:10px; } IE6特制识别的 *HTML .Searc ...

  4. CvMat、Mat、IplImage之间的转换详解及实例

    见原博客:http://blog.sina.com.cn/s/blog_74a459380101obhm.html OpenCV学习之CvMat的用法详解及实例 CvMat是OpenCV比较基础的函数 ...

  5. Android二维码开源项目zxing编译

    ZXing是一个开放源代码的,用Java实现的多种格式的1D/2D条码图像处理库,它包括了联系到其它语言的port.Zxing能够实现使用手机的内置的摄像头完毕条形码的扫描及解码.该项目可实现的条形码 ...

  6. 使用HTML5/CSS3制作便签贴

    利用HTML5/CSS3,仅用5步就可以制作便签贴效果的HTML页面,效果图如下: (注:图里的文字纯属杜撰,搞笑目的,如有雷同,纯属巧合,谢谢!) 注:该效果可以在Safari, Chrome,Fi ...

  7. 计算(a/b)%c

    如果b与c互素,则(a/b)%c=a*b^(phi(c)-1)%c 如果b与c不互素,则(a/b)%c=(a%bc)/b 对于b与c互素和不互素都有(a/b)%c=(a%bc)/b成立

  8. .net控件dropdownlist动态绑定数据 ----转

    DropDownList控件的使用(数据绑定)(.net学习笔记二) 一.在页面初始化时候将集合绑定到DropDownListpublic void Page_Load(Object src.Even ...

  9. ARP网关占用

    30网段已经发生了2次ARP了 排查方法:我直去核心交换机直连镜像口,用wireshark抓包,过滤出ARP的包 发现的确有ARP的攻击,因为没有统计公司电脑和无线路由的MAC地址,所以只能一个个把无 ...

  10. C++学习之重载运算符1

    C++除可重载函数之后,还允许定义已有的运算符,这样通过运算符重载可像处理数据使用它们. 先来个代码 #include<iostream> using namespace std; cla ...