2011-12-21 13 views
4

私はステータスメニューを持つアプリを開発しています。そのメニューから、ユーザーはアプリのメインウィンドウを開くことができます。私はフルスクリーンアプリの上にこのウィンドウを開く機能が必要です。 アプリケーションは、エージェント(UIElementの)であれば、次のコードは正常に動作しますYESに設定されています:Cocoaアプリを全画面アプリの上に置く

- (IBAction)showMainWindow:(id)sender 
{ 
    [_window makeKeyAndOrderFront:self]; 
    [NSApp activateIgnoringOtherApps:YES]; 
} 

しかし、私は同様にドックにアイコンを持っていると思います。 アプリケーションがエージェント(UIElement)に設定されている場合 showMainWindowは、アクティブなフルスクリーンアプリの上に表示されるのではなく、別のスペースにジャンプします。これには解決策がありますか?

答えて

3

私は完全性のために私自身の質問に答えています。

もう少し多くの研究が成し遂げられたあと、その周りには道はありません。それはOS Xが動作する方法です。

私の解決策:私はユーザーに、アプリをドックタイプのアプリかエージェントタイプかを選択するオプションを与えました。 アプリケーションはエージェント(UIElement)YESメインplistです。実行時にアプリのアクティブ化ポリシーをNSApplicationActivationPolicyRegularに設定することで、アプリのタイプを変更できます。

関連する問題