JDFCurrencyTextField 是 UITextField 的即时替换,以使其更容易处理货币值。JDFCurrencyTextField 通过在用户编辑时将文本格式化为数字字符串,并在完成编辑后将其格式化为货币字符串,从而简化了货币值的输入。默认使用当前区域设置进行格式化,但在必要时也可以更改。
JDFCurrencyTextField 是 UITextField 的即时替换。
要设置文本字段的货币值,您可以设置字段的 decimalValue
,或者您可以分别设置以数字字符串(不以货币格式设置)的 text
属性。
JDFCurrencyTextField *currencyField = [[JDFCurrencyTextField alloc] initWithFrame:frame];
currencyField.decimalValue = [[NSDecimalNumber alloc] initWithDouble:9.99];
或
JDFCurrencyTextField *currencyField = [[JDFCurrencyTextField alloc] initWithFrame:frame];
currencyField.text = @"100";
然后您可以通过 decimalValue
属性再次检索值为 NSDecimalNumber
。
您还可以更改用于货币格式化的区域设置。为此,通过您的期望区域设置设置 JDFCurrencyTextField 的 locale
属性。您应该在设置 text
属性之前这样做。
键盘默认为 UIKeyboardTypeDecimalPad。JDFCurrencyTextField 还支持负数,但您需要将键盘类型设置为 UIKeyboardTypeNumbersAndPunctuation。
要运行示例项目,请克隆仓库,然后从示例目录首先运行 pod install
。
用户输入值
当他们完成编辑时,值将格式化为货币
JDFCurrencyTextField 正在被用于 Live Poker Manager。如果您也在任何应用程序中使用它,那就太酷了 :)
Joe Fryer, [email protected]
JDFCurrencyTextField 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。
对编辑模式格式进行了小的改进:移除了分组分隔符。
现在默认将无效输入设置为 0
而不是空字符串。
进一步的本地化改进。
本地化改进。
首次 CocoaPods 发布
numericValue
已弃用,并由 decimalValue
替换。
委托消息转发问题已修复。
初始发布