我有一个 NSTextField,里面有一个 NSNumberFormatter。我见过文本字段,如果您将它们留空,它只会将之前的任何数字放回其中。我很好奇 Interface Builder 中是否有提供这种行为的设置。我似乎找不到它,但我对 IB 还很陌生,可能没有找对地方。
谢谢
我有一个 NSTextField,里面有一个 NSNumberFormatter。我见过文本字段,如果您将它们留空,它只会将之前的任何数字放回其中。我很好奇 Interface Builder 中是否有提供这种行为的设置。我似乎找不到它,但我对 IB 还很陌生,可能没有找对地方。
谢谢
除了默认值(在此没有帮助)之外,我在 IB 中不知道其他行为,但是您可以使用NSTextFieldDelegate(NSControlTextEditingDelegate 的扩展)来监视编辑完成时,使用control:textShouldEndEditing:您可以将值返回如果它留空,则放入框中。您可以在此处阅读有关 NSTextFieldDelegate 的信息。
如果您想为用户删除输入的情况保留一些默认值
1) 子类 NSNumberFormatter
2)实施(如果为空,将放置一个0)
- (NSString *)stringForObjectValue:(id)obj {
if (obj == nil) {
return @"0";
}
return [super stringForObjectValue:obj];
}
3)在IB中设置类