1

当用户点击主窗口中的按钮时,我想显示一个新窗口,但是当我使用 调用单独的窗口时makeKeyAndOrderFront,窗口弹出远离主窗口。

这是我在子类中写的NSViewController

myWindow = NSWindow()
myWindow.setFrame(myView.frame, display: true)
myWindow.contentView = myView
myWindow.makeKeyAndOrderFront(self)

但是,这会在主窗口之外打开一个新窗口。我想在主窗口中显示它,可能在主窗口的中心(我将.frame值设置myView为位于中心)。

那么如何在主窗口中调用新窗口呢?换句话说,我可以指定新窗口的显示位置吗?

4

1 回答 1

3

您需要将坐标和/或矩形转换为屏幕空间。NSView 和 NSWindow 提供了以“convert”开头的方法来看看这些。有时您需要链接以将视图空间转换为窗口,然后将窗口转换为屏幕。请记住,窗口具有 NSScreen 屏幕方法,并且窗口可能出现在许多不同大小的屏幕上,并且可能跨越多个屏幕。

于 2015-02-19T13:53:02.223 回答