Shared User Default Controller
に値がバインドされたNSTextField
があります。ユーザーが「Enter」キーを押した場合のみ、NSUserDefault値が変更されます。NSTextFieldはボタンを押し戻しをシミュレートします
ユーザーがUI上のボタンを押すと、同じエフェクト(特定のフィールドでヒットヒットをシミュレートする)を作りたいと思います。
可能ですか?
Shared User Default Controller
に値がバインドされたNSTextField
があります。ユーザーが「Enter」キーを押した場合のみ、NSUserDefault値が変更されます。NSTextFieldはボタンを押し戻しをシミュレートします
ユーザーがUI上のボタンを押すと、同じエフェクト(特定のフィールドでヒットヒットをシミュレートする)を作りたいと思います。
可能ですか?
バインディングでは、「継続的に更新する値」ボックスをチェックすると、入力時にユーザーのデフォルト値が更新されるので、ボタンメソッドが値をチェックするだけで常に最新の状態になります。テキストフィールドの値を更新するためのより一般的な解決策は、ウィンドウに最初のレスポンダのテキストフィールド以外のものを作成させることです(これはテキストフィールドから次のレスポンダにタブを移動するときに起こります)。これを行うには、
[window makeFirstResponder:window];を使用します。あなたのボタンのアクションで
、次の操作を行います。
[[NSUserDefaultsController sharedUserDefaultsController] commitEditing]