objective-c - 带有数字格式化程序的 NSTextField 不接受仅填充字符

标签 objective-c cocoa nsnumberformatter nsformatter

我有一个 NSTextField ,其数字格式化程序设置如下:

NSNumberFormatter *myFormatter = [[NSNumberFormatter alloc] init];

[myFormatter setFormatWidth:7];
[myFormatter setPaddingCharacter:@"0"];
[myFormatter setMinimumSignificantDigits:0];

[myFormatter setMinimum:[NSNumber numberWithInteger:0]];
[myFormatter setMaximum:[NSNumber numberWithInteger:9999999]];
[myClientIDTextField setFormatter:myFormatter];

一切都按预期进行,但我无法输入“0”或“00” 或“000”等在文本字段中,如果我这样做会出现一张纸 在窗口上,说我的输入无效。我的预期行为 输入“0”应被验证为“0000000”。 有谁知道为什么会发生这种情况以及如何解决这个问题?

谢谢

最佳答案

如果指定格式为@“0000000”,则需要7位数字,不存在的数字将补0。

NSNumberFormatter *myFormatter = [[NSNumberFormatter alloc] init];
[myFormatter setFormat:@"0000000"];
[myFormatter setMinimum:@0];
[myFormatter setMaximum:@9999999];
[myClientIDTextField setFormatter:myFormatter];

希望有帮助。

关于objective-c - 带有数字格式化程序的 NSTextField 不接受仅填充字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28270433/

相关文章:

objective-c - 如何使用自定义参数从我的应用程序启动应用程序,以便我可以检查该应用程序是否由我启动?

xcode - sqlite 解析查询时出错

ios - Objective-C 中的常量

ios - 如何重新启动 CALayer 动画?

objective-c - 如何使 UIImageView 中的图像像素透明?

ios - 仅在应用程序运行时接收报亭通知

ios - 如何在不更改导航栏色调的情况下更改底部工具栏色调颜色?

ios - 我在我的 View Controller 中尝试将其作为一种方法,但我真的很喜欢在 Label 中使用它

objective-c - NSNumberFormatter 四舍五入为负零

ios - NSNumberFormatter positiveFormat