NSBorderlessWindowMask
ユーザーが特定のホットキーをタップしたときに表示されるアプリケーションにカスタムウィンドウがあります。このウィンドウには `NSTextField があり、ウィンドウが表示されたときにファーストレスポンダーになる必要があります。このウィンドウはメイン ウィンドウではありませんが、メイン ウィンドウからフォーカスを取得できます。これを表示してキーにするために私が行うことは次のとおりです。
[self.myCustomWindow makeKeyAndOrderFront:sender];
次に、ファーストレスポンダを設定します
[self.myTextField becomeFirstResponder];
アプリケーションが最前面のアプリケーションである場合、すべてが期待どおりに機能しますが、そうでない場合、ウィンドウは表示されますが、キーにはならず、クリックしてアクティブにする必要があります。
クラスでオーバーライドしますCustomWindow
:
- (BOOL)canBecomeKeyWindow {
return YES;
}
何が問題なのですか?
ありがとう!