【发布时间】:2011-09-28 09:34:17
【问题描述】:
我有一个应用程序必须始终保持在其他应用程序之上。 我目前正在使用主窗口的 setLevel 属性,以使其位于其他桌面应用程序之上。
我正在尝试修复我的应用程序,以便它也可以在 Lion 中保持在全屏应用程序之上。 关于如何做到这一点的任何想法?
应用程序委托如下所示:
#import "alwaysOnTopAppDelegate.h"
@implementation alwaysOnTopAppDelegate
@synthesize window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[window setLevel:NSFloatingWindowLevel];
}
@end
【问题讨论】:
-
由于全屏模式的重点是专注于一个应用程序而排除所有其他应用程序,我原以为您尝试实现的行为会被大多数全屏应用程序用户认为是不受欢迎的甚至可能无法实施。
-
行为当然是可选的。应用商店中有一款“员工最爱”的应用具有此功能:itunes.apple.com/dk/app/yoink/id457622435?mt=12
-
我的立场是正确的,很明显,这不是不可能实施的,甚至在适当的情况下得到苹果的批准。
-
也许将 NSFloatingWindowLevel 更改为 NSScreensaverWindowLevel?这应该把它放在除了鼠标之外的所有东西的前面。
-
NSScreenSaverWindowLevel 没有完成这项工作:(
标签: objective-c xcode cocoa osx-lion