17

我正在尝试在 Mac OS X Lion 上创建一个应用程序,该应用程序需要将应用程序分配给所有桌面(空间)。这可以通过右键单击应用程序的停靠图标并选择Options > Assign To > All Desktops来手动完成。但是,我需要通过Objective C 找到一种方法来做到这一点。有没有办法以编程方式实现这一点?

4

1 回答 1

18

您可以使用带有按位标志setCollectionBehavior:的方法。NSWindowNSWindowCollectionBehaviorCanJoinAllSpaces

它将使窗口在所有空间上可见。

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 回答