我想在用户点击主窗口中的按钮时显示一个新窗口,但是当我使用 makeKeyAndOrderFront
调用单独的窗口时,该窗口弹出远离主窗口。
这是我在 NSViewController
的子类中写的:
myWindow = NSWindow()
myWindow.setFrame(myView.frame, display: true)
myWindow.contentView = myView
myWindow.makeKeyAndOrderFront(self)
但是,这会在主窗口之外打开一个新窗口。我想在主窗口中显示它,可能在主窗口的中心(我将 myView
的 .frame
值设置为位于中心)。
那么如何在主窗口中调用新窗口呢?换句话说,我可以指定新窗口的显示位置吗?
最佳答案
您需要将坐标和/或矩形转换为屏幕空间。 NSView 和 NSWindow 提供以“convert”开头的方法看看那些。 有时您需要链接以从 View 空间转换为窗口,然后将窗口转换为屏幕。 请记住,一个窗口有一个 NSScreen 屏幕方法,一个窗口可以出现在许多不同尺寸的屏幕上,并可能跨越多个屏幕。
关于cocoa - 如何在 Cocoa 的主窗口中显示 NSWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28606015/