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