温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-05-22 21:35:53 来源:网络 阅读:972 作者:arthurchen 栏目:移动开发

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

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

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

@interface DecimalPointNumberPadViewController : UIViewController <UITextFieldDelegate> {
NumberKeypadDecimalPoint *numberKeyPad;
}
@end

@implementation DecimalPointNumberPadViewController
- (void) textFieldDidBeginEditing:(UITextField *)textField {
numberKeyPad = [[NumberKeypadDecimalPoint keypadForTextField:textField] retain];
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
[numberKeyPad release];
}
@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的一份拷贝:

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

谢谢

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI