ホットキーを変更モードにした状態で、他のプリファレンス(例えば「範囲選択」や「ビューア」)を選び、その後再び「一般」へ戻るとホットキーが変更モードになったままになっている。
フォーカス(ファーストレスポンダー)が外れた時には変更モードを終了させる必要がある。
ファーストレスポンダーから外れる時、NSControl には resignFirstResponder が投げられる。
ADC - NSResponder Class Reference - resignFirstResponder
これを HotkeyTextField を処理してやればよい。
HotkeyTextField.m
- (BOOL)resignFirstResponder
{
[self redraw];
[self endEdit];
return YES;
}
呼出されたら変更モードを終了させる。