我正在尝试在 Mac OS X Lion 上创建一个应用程序,该应用程序需要将应用程序分配给所有桌面(空间)。这可以通过右键单击应用程序的停靠图标并选择Options > Assign To > All Desktops来手动完成。但是,我需要通过Objective C 找到一种方法来做到这一点。有没有办法以编程方式实现这一点?
问问题
4068 次
1 回答
18
您可以使用带有按位标志setCollectionBehavior:
的方法。NSWindow
NSWindowCollectionBehaviorCanJoinAllSpaces
它将使窗口在所有空间上可见。
NSUInteger collectionBehavior;
// Gets the current collection behavior of the window
collectionBehavior = [ myWindow collectionBehavior ];
// Adds the option to make the window visible on all spaces
collectionBehavior |= NSWindowCollectionBehaviorCanJoinAllSpaces;
// Sets the new collection behaviour
[ myWindow setCollectionBehavior: collectionBehavior ];
笔记
此方法是在 Mac OS X 10.6 中引入的。
在 Mac OS X 10.5 上,您需要canBeVisibleOnAllSpaces:
使用NSWindow
.
于 2012-09-02T04:14:05.097 回答