Cocoa在特定屏幕上显示NSWindow

时间:2015-11-14 15:55:47

标签: macos cocoa nswindow nswindowcontroller

在Mac应用中,如何在特定的NSWindow上打开NSScreen(比方说第二个屏幕)?

这是我显示窗口的方式,但它只显示在主屏幕上

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

欢迎Swift和OC的答案。

1 个答案:

答案 0 :(得分:1)

使用类功能'屏幕'获取您拥有的所有屏幕的数组。从阵列中,选择您希望窗口显示的屏幕。使用该窗口上的坐标(相对于主窗口)为这样的新窗口制作一个矩形;

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

其中pos是从屏幕数组和你的选择中计算的。