55

このコードを使用してウィンドウを表示しています。

[self.window makeKeyAndOrderFront:self];
[self.window setOrderedIndex:0];

しかし、多くの場合、他のウィンドウの下にあるか、最後に開いた別の Space デスクトップに表示されます。ユーザーに対して常に「前面」に表示するにはどうすればよいですか?

更新 私は以前に尋ねられた質問から答えを見つけました。ウィンドウを他のウィンドウの一番上に表示する: [NSApp activateIgnoringOtherApps:YES];

しかし、アプリをユーザーの現在のスペースに移動する方法は?

4

8 に答える 8

135

アプリを前面に表示するには:

[NSApp activateIgnoringOtherApps:YES];

迅速:

NSApp.activateIgnoringOtherApps(true)

スウィフト 3:

NSApp.activate(ignoringOtherApps: true)
于 2009-11-16T06:31:19.027 に答える
30

おそらくあなたが望む:

  [self.window setCollectionBehavior: NSWindowCollectionBehaviorCanJoinAllSpaces];

他のコレクション動作を試してみてください... NSWindowCollectionBehaviorMoveToActiveSpace10.5 では少しバグがありましたが、今は改善されている可能性があります。

于 2009-11-16T06:35:10.050 に答える
4

Swift 2 では、構文が少し異なるようです。

NSApplication.sharedApplication().activateIgnoringOtherApps(true)
于 2016-01-30T10:06:25.910 に答える
3

スイフト3.0

NSApp.activate(ignoringOtherApps: true)
于 2016-11-25T08:54:27.517 に答える
3

しかし、アプリをユーザーの現在のスペースに移動する方法は?

あなたはそうしない。スペースには、アプリケーションではなくウィンドウが含まれます。(そのため、collectionBehaviorプロパティは NSApplication ではなく NSWindow にあります。)

于 2009-11-16T15:32:59.403 に答える
3

スイフト5.0+

 NSWindow.orderFrontRegardless()
于 2021-05-21T17:33:32.080 に答える
0

スイフト2.0

NSApp.activateIgnoringOtherApps(true)

役立つプログラミングのヒントとハック

于 2016-02-24T14:13:58.527 に答える