私のアプリケーションには、window1 と window2 の 2 つのウィンドウがあります。window2 は、ユーザーのアクションごとに window1 の後に作成されます。window2 がフル スクリーン モードの場合、window1 のスペースとは異なる別のスペースにデフォルトで属します。私のアプリは URL からの起動をサポートしており、シングルトンです。
問題は、アプリが実行されていて、window2 がフルスクリーン モードの場合です。URL を介してアプリを起動しようとすると、window2 のタイトルがアプリ内の URL で指定されますが、
[window2 makeKeyAndOrderFront:nil]
が呼び出されると、window2 は前面にならず、代わりに window1 が前面になり、アクティブになります。
window2 がフル スクリーン モードでない場合、同じシナリオで問題はありません (window2 が最前面に表示されます)。
フルスクリーン モードで makeKeyAndOrderFront が期待どおりに動作しないように見える場合、アプリをフルスクリーン スペースに切り替えて window2 を前面にするにはどうすればよいですか?
私は試した
[window2 setCollectionBehavior: NSWindowCollectionBehaviorMoveToActiveSpace]
、
結果は私が望むものではありません。
アプリはフルスクリーン スペースに切り替わりませんでしたが、window1 のスペースのままです。メニューバーの右側には、フルスクリーンの切り替えボタンがありません。