繁体   English   中英

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

[英]NSTextField with number formatter does not accept padding character only

我有一个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];

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM