2012-05-11 11 views
0

Shared User Default Controller に値がバインドされたNSTextFieldがあります。ユーザーが「Enter」キーを押した場合のみ、NSUserDefault値が変更されます。NSTextFieldはボタンを押し戻しをシミュレートします

ユーザーがUI上のボタンを押すと、同じエフェクト(特定のフィールドでヒットヒットをシミュレートする)を作りたいと思います。

可能ですか?

答えて

1

バインディングでは、「継続的に更新する値」ボックスをチェックすると、入力時にユーザーのデフォルト値が更新されるので、ボタンメソッドが値をチェックするだけで常に最新の状態になります。テキストフィールドの値を更新するためのより一般的な解決策は、ウィンドウに最初のレスポンダのテキストフィールド以外のものを作成させることです(これはテキストフィールドから次のレスポンダにタブを移動するときに起こります)。これを行うには、

[window makeFirstResponder:window];を使用します。あなたのボタンのアクションで

1

、次の操作を行います。

[[NSUserDefaultsController sharedUserDefaultsController] commitEditing] 
関連する問題