代码之家  ›  专栏  ›  技术社区  ›  Alfonso Tesauro

带有数字格式器的NSTextField不只接受填充字符

  •  1
  • Alfonso Tesauro  · 技术社区  · 10 年前

    我有一个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”。 有人知道为什么会发生这种情况以及如何解决这种情况吗?

    谢谢

    1 回复  |  直到 10 年前
        1
  •  0
  •   Lucas Derraugh    10 年前

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

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

    希望这会有所帮助。