use*_*849 15 macos cocoa objective-c osx-snow-leopard osx-lion
我正在尝试在Mac OS X Lion上创建一个应用程序,该应用程序需要将应用程序分配给所有桌面(空间).这可以通过右键单击应用程序的停靠栏图标并选择选项>分配到>所有桌面来手动完成.但是,我需要通过Objective C找到一种方法来实现这一点.有没有办法以编程方式实现这一目标?
Mac*_*ade 17
您可以使用方法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 ];
Run Code Online (Sandbox Code Playgroud)
注意
此方法是在Mac OS X 10.6中引入的.
在Mac OS X 10.5上,您需要使用的canBeVisibleOnAllSpaces:
方法NSWindow
.