1

我有一个NSNumberFormatter里面的NSTextField。我已经看到了textfields,如果你把它们留空,它会把之前返回的任何数字都放进去。我很好奇,如果在Interface Builder中有一个提供这种行为的设置。我似乎无法找到它,但我对IB来说还是比较陌生的,可能不在正确的位置。防止NSTextField被留空

感谢

回答

5

有没有问题,我知道的IB比默认值以外(这不会在这里帮助),但编辑完成时,你可以使用NSTextFieldDelegate(NSControlTextEditingDelegate的扩展名)来监测,使用control:textShouldEndEditing:如果留空,可以将值放回框中。你可以read about NSTextFieldDelegate here

+0

雅我猜委托是最简单的方法来做到这一点,如果它不是一个内置的功能。我使用Mac OS,而不是触摸,所以我认为NSTextFieldDelegate是我想要的。谢谢 – JPC

+0

是的,对不起。我很习惯为iPhone写东西,它变成了自动!相应地发布编辑! – Simon

0

如果你想离开刚刚复出的情况下,用户删除输入

1)子类NSNumberFormatter

2)实现(会放一个0一些默认值,如果为空)

- (NSString *)stringForObjectValue:(id)obj { 

    if (obj == nil) { 
     return @"0"; 
    } 

    return [super stringForObjectValue:obj]; 

} 

3)设置类IB