我有一个带有NSNumberFormatter的NSTextField。我已经看过文本字段,如果你把它们留空,只需将之前的数字放入其中。我很好奇Interface Interface中是否有一个提供此行为的设置。我似乎无法找到它,但我对IB很新,可能不会找到合适的位置。
由于
答案 0 :(得分:5)
除了默认值之外,我没有在IB中知道的行为(这在这里没有帮助),但您可以使用 NSTextFieldDelegate (NSControlTextEditingDelegate的扩展名)来监控编辑完成时的时间,使用 control:textShouldEndEditing:如果值保留为空,则可以将值返回到框中。你可以read about NSTextFieldDelegate here。
答案 1 :(得分:1)
如果您想要保留一些默认值,以便用户删除输入
1)子类NSNumberFormatter
2)实现(如果为空则将设置为0)
- (NSString *)stringForObjectValue:(id)obj {
if (obj == nil) {
return @"0";
}
return [super stringForObjectValue:obj];
}
3)在IB中设置班级