2

私のアプリケーションには、ユーザーの入力に応じて検索を実行する arraycontroller にバインドされた NSSearchField があります。

問題は、検索フィールドが firstresponder-status を受信すると、決して辞任しないことです。

Enterユーザーが検索フィールドの外側を押すかクリックしたときに、ファーストレスポンダーのステータスを辞任する最もクリーンな方法は何ですか? 可能であれば、可能な限り多くの作業を Interface Builder で行いたいと考えています。

4

1 に答える 1

10

[searchField.window makeFirstResponder:nil]

フォーカスリングを取り除きたいだけの場合は、NIBで無効にすることができます。

ユーザーがウィンドウの空のスペースをクリックしたときにファーストレスポンダーを辞任したい場合はNSView、ウィンドウのコンテンツビューとしてカスタムを使用し、オーバーライドmouseDown:して上記のメソッドを呼び出す必要があります。

于 2011-12-11T16:50:53.013 に答える