2015-11-14 50 views
0

在Mac應用程序中,如何在特定的NSScreen(讓我們說第二個屏幕)上打開NSWindow可可在特定屏幕上顯示NSWindow

這是我的顯示窗口,但只顯示在主屏幕

self.windowController = NSStoryboard(name: "Main", bundle: nil).instantiateControllerWithIdentifier("mainWindow") as! NSWindowController 
let window = self.windowController.window! 
window.makeKeyAndOrderFront(self) 

答案均斯威夫特和OC歡迎的。

+0

我很確定操作系統喜歡把多個屏幕視爲「一個大屏幕」,所以你可以控制位置。見這裏http://stackoverflow.com/questions/16658582/how-to-move-nswindow-to-a-particular-screen –

+0

@JustinMeiners謝謝!我會試試看。 –

回答

0

使用類功能「屏幕」來獲取您擁有的所有屏幕的數組。從數組中,選擇您希望窗口顯示的屏幕。使用該窗口上的座標(相對於主窗口)來爲您的新窗口創建一個矩形;

[self.window setFrame:CGRectMake(pos.x, pos.y, [mywindow frame].size.width  
     , [mywindow frame].size.height) display:YES]; 

其中pos是從屏幕陣列和您的選擇素計算出來的。