NSNumberFormatterを含むNSTextFieldがあります。テキストフィールドを空白のままにすると、以前に含まれていた数値が元に戻されるのを見てきました。この動作を提供する設定がInterfaceBuilderにあるかどうか知りたいです。私はそれを見つけることができないようですが、私はIBにかなり慣れておらず、適切な場所を探していない可能性があります。
ありがとう
NSNumberFormatterを含むNSTextFieldがあります。テキストフィールドを空白のままにすると、以前に含まれていた数値が元に戻されるのを見てきました。この動作を提供する設定がInterfaceBuilderにあるかどうか知りたいです。私はそれを見つけることができないようですが、私は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に設定します