OSX Swift-显示模态第二个窗口

ehm*_*ehm 0 macos cocoa swift

单击按钮后,我试图显示第二个窗口:

var winJ:WinJo // other window NSViewController

@IBAction func BtnNewWin(sender: AnyObject) {
    winJ = WinJo()
    winJ.showWindow(self)
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我希望新窗口成为模式窗口。我使用Xcode设计器完成了此操作,但我不知道如何在代码中执行此操作。

ehm*_*ehm 5

向正确的方向指出方向后,我找到了解决问题的方法:

NSApp.runModalForWindow(winJ.window!)
Run Code Online (Sandbox Code Playgroud)

NSApp实际上是NSApplication的实例。

在第二个窗口中非常重要:

func windowWillClose(notification: NSNotification) {
        NSApp.stopModal()
    }
Run Code Online (Sandbox Code Playgroud)

否则,关闭第二个主窗口后,主窗口将被阻止。