17

Mac OS X Lionでアプリケーションを作成しようとしています。このアプリケーションでは、アプリケーションをすべてのデスクトップ(スペース)に割り当てる必要があります。これは、アプリケーションのドックアイコンを右クリックし、[オプション]>[割り当て先]>[すべてのデスクトップ]を選択することで手動で実行できます。しかし、Objective Cを介してこれを行う方法を見つける必要があります。これをプログラムで達成する方法はありますか?

4

1 に答える 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 OSX10.6で導入されました。

canBeVisibleOnAllSpaces:Mac OS X 10.5では、の方法を使用する必要がありますNSWindow

于 2012-09-02T04:14:05.097 に答える