2

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

ありがとう

4

2 に答える 2

5

IBで私が知っている動作は、デフォルト値(ここでは役に立ちません)以外にはありませんが、NSTextFieldDelegate(NSControlTextEditingDelegateの拡張)を使用して、control:textShouldEndEditingを使用して編集の終了を監視できます:値を戻すことができます空白のままにした場合は、ボックスに入力します。NSTextFieldDelegateについてはこちらをご覧ください

于 2011-08-24T18:17:40.797 に答える
1

ユーザーが入力を削除した場合に備えて、デフォルト値だけを残したい場合

1)サブクラスNSNumberFormatter

2)実装します(空の場合は0を入力します)

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

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

    return [super stringForObjectValue:obj];

}

3)クラスをIBに設定します

于 2013-10-30T13:51:04.513 に答える