[ios]实施一个文本字段输入像 atm 机输入

发布时间: 2017/3/21 23:01:00
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个 iphone 应用程序中的文本字段,我想要实现类似于自动取款机输入所有你必须做在哪里输入数字 (没有所需的十进制字符输入) 的输入。我想能够为此文本字段只使用数字小键盘。例如,文本字段最初将显示︰

0.00

如果用户输入的序列 1234年文本字段然后看起来是这样︰

12.34

它还将更新如果用户按删除按钮。

解决方法 1:

用于设置格式,我想你会很满意的细节在这其他因此张贴描述如何使用NSNumberFormatter来显示前导和尾随零。拉和调整从该职位︰

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setFormat:@"##0.00"];

NSNumber* input; // Hook in your input
NSString* output = [NSString stringWithFormat:@"%@", [formatter stringFromNumber:input]]; // Hook to your text field

为了转换 1234年投入 12.34 (和大概 12 投入 0.12),考虑你都总是在移动小数点的输入的两个地方。

// int storedInput has already been set to 1234
int input = 5; // Next button that was pressed
storedInput = storedInput * 10 + input; // 1234 * 10 + 5 = 12345
float displayedValue = input * .01;  // 123.45
NSNumber* output = [NSNumber numberWithFloat:displayedValue];

这些两个代码段应该给你一个想法如何在您的程序中实现这些概念。至于删除...只需将 storedInput 设置为 0。它将由你来调用这些代码块,每次有新的输入从键盘以刷新的值。

官方微信
官方QQ群
31647020