私は、NSSearchFieldの下に浮動小数のボーダーレス検索結果ウィンドウを実装しており、ユーザーのタイプとして検索結果を表示しています。 NSSearchFieldが適切なコマンド(上向き矢印、下向き矢印、Enterキー)をウィンドウ内のカスタム検索結果ビューに転送するので、NSWindowはキーである必要はありません。これにより、ユーザーは検索中にいつでも結果をナビゲートできます。これはすべて、1つのユースケースを除いて素晴らしい作品です。ユーザーがアプリ内の他の場所をクリックすると、簡単にウィンドウを閉じることができます。キーではないNSWindowを簡単に閉じるには?
私は通常、windowDidResignKey
通知でこれを行いますが、ウィンドウが決して重要でないため、この場合は送信されません。この状況を簡単に処理する別の方法はありますか?私は単純に、検索フィールドがフォーカスを失ったとき(他の回の間)と呼ばれているNSSearchField、のデリゲートメソッドをcontrolTextDidEndEditing:
を実装の下にロブの考え方の変化を使用して
-
- ソリューションと編集。検索フィールドがメインの親ウィンドウの最初のレスポンダでない場合は、検索結果ウィンドウを閉じます。
それはサブクラス化を必要としないので、私の答えより優れた解決策です。 –