在 Mac 应用程序中,如何在特定的 NSScreen
(假设是第二个屏幕)上打开 NSWindow
?
这就是我显示窗口的方式,但它只显示在主屏幕上
self.windowController = NSStoryboard(name: "Main", bundle: nil).instantiateControllerWithIdentifier("mainWindow") as! NSWindowController
let window = self.windowController.window!
window.makeKeyAndOrderFront(self)
欢迎使用 Swift 和 OC 提供答案。
最佳答案
使用类函数“screens”来获取您拥有的所有屏幕的数组。从数组中选择您希望窗口显示的屏幕。使用该窗口上的坐标(相对于主窗口)为新窗口创建一个矩形,如下所示;
[self.window setFrame:CGRectMake(pos.x, pos.y, [mywindow frame].size.width
, [mywindow frame].size.height) display:YES];
其中 pos 是根据屏幕数组和您的选择计算得出的。
关于macos - Cocoa 在特定屏幕上显示 NSWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33710289/