2011-09-28 8 views
10

私はいつも他のアプリケーションの上にとどまっていなければならないアプリを持っています。 私は現在、メインウィンドウのsetLevelプロパティを使用して他のデスクトップアプリケーションの上に保持しています。私のアプリをフルスクリーンアプリの上に置く方法

私は自分のアプリを修正しようとしているので、Lionのフルスクリーンアプリの上に置くこともできます。 これはどのように行うことができますか?

アプリケーションデリゲートは、次のようになります。

#import "alwaysOnTopAppDelegate.h" 

@implementation alwaysOnTopAppDelegate 

@synthesize window; 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    [window setLevel:NSFloatingWindowLevel]; 
} 

@end 
+3

フルスクリーンモードの全体のポイントは、他のすべての除外に一つのアプリケーションに集中することですので、私はあなたが実装しようとしている行動は、ほとんどのフルスクリーンアプリのユーザーによって望ましくないと考え、それだろうと思っているだろう実装することも不可能かもしれません。 – JeremyP

+1

この動作はもちろんオプションです。 App Storeには、この機能を備えた「Staff favorite」アプリがあります。http://itunes.apple.com/dk/app/yoink/id457622435?mt=12 –

+0

私は訂正されていますが、明らかに実装するのは不可能ではありません適切な状況でアップル社の承認を得ています。 – JeremyP

答えて

6

:アプリのデリゲートは、次のようになります。

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    [window setLevel:kCGMainMenuWindowLevel-1]; 
    [window setCollectionBehavior:NSWindowCollectionBehaviorStationary|NSWindowCollectionBehaviorCanJoinAllSpaces|NSWindowCollectionBehaviorFullScreenAuxiliary]; 
} 
3

Yoinkが動作する方法は簡単です: だけで設定することで、アプリケーションのためのInfo.plistにYESと「アプリケーションエージェント(UIElementの)です」。それはドックなどに表示されないことを意味しますが、それはおそらく補助ウィンドウ(うん、それは私のためだった!)です。この場合、メニューバーの項目を指定するとユーザーがアプリケーションを簡単に停止できるようになります。その答えが見つかり

+0

これは、それをライオンのフルスクリーンアプリの上に保つわけではありません。 –

0

フォローはそれがOK、希望は助けることができる仕事、私のテストコードです。

NSPanel *test_panel = [[NSPanel alloc] initWithContentRect:NSMakeRect(300, 300, 500, 500) styleMask:NSTitledWindowMask|NSClosableWindowMask backing:NSBackingStoreBuffered defer:YES]; 
[test_panel setReleasedWhenClosed:YES]; 
[test_panel setHidesOnDeactivate:NO]; 
[test_panel setFloatingPanel:YES]; 
[test_panel setStyleMask:NSBorderlessWindowMask | NSNonactivatingPanelMask]; 
[test_panel setLevel:kCGMainMenuWindowLevel-1]; 
[test_panel setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces|NSWindowCollectionBehaviorFullScreenAuxiliary]; 
[test_panel setCanBeVisibleOnAllSpaces:YES]; 
[test_panel center]; 
[test_panel orderFront:nil]; 
関連する問題