我有一个NSNumberFormatter里面的NSTextField。我已经看到了textfields,如果你把它们留空,它会把之前返回的任何数字都放进去。我很好奇,如果在Interface Builder中有一个提供这种行为的设置。我似乎无法找到它,但我对IB来说还是比较陌生的,可能不在正确的位置。防止NSTextField被留空
感谢
我有一个NSNumberFormatter里面的NSTextField。我已经看到了textfields,如果你把它们留空,它会把之前返回的任何数字都放进去。我很好奇,如果在Interface Builder中有一个提供这种行为的设置。我似乎无法找到它,但我对IB来说还是比较陌生的,可能不在正确的位置。防止NSTextField被留空
感谢
有没有问题,我知道的IB比默认值以外(这不会在这里帮助),但编辑完成时,你可以使用NSTextFieldDelegate(NSControlTextEditingDelegate的扩展名)来监测,使用control:textShouldEndEditing:如果留空,可以将值放回框中。你可以read about NSTextFieldDelegate here。
如果你想离开刚刚复出的情况下,用户删除输入
1)子类NSNumberFormatter
2)实现(会放一个0一些默认值,如果为空)
- (NSString *)stringForObjectValue:(id)obj {
if (obj == nil) {
return @"0";
}
return [super stringForObjectValue:obj];
}
3)设置类IB
雅我猜委托是最简单的方法来做到这一点,如果它不是一个内置的功能。我使用Mac OS,而不是触摸,所以我认为NSTextFieldDelegate是我想要的。谢谢 – JPC
是的,对不起。我很习惯为iPhone写东西,它变成了自动!相应地发布编辑! – Simon