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

标签 swift macos cocoa

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

var winJ:WinJo // other window NSViewController

@IBAction func BtnNewWin(sender: AnyObject) {
    winJ = WinJo()
    winJ.showWindow(self)
}

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

最佳答案

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

NSApp.runModalForWindow(winJ.window!)

其中 NSApp 实际上是 NSApplication 的实例。

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

func windowWillClose(notification: NSNotification) {
        NSApp.stopModal()
    }

否则您的主窗口将在关闭第二个窗口后被阻塞。

关于swift - OSX Swift - 显示模态第二个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37869337/

相关文章:

ios - CoreData 可以工作,但在控制台中又返回一个 nil 对象?

ios - 访问另一个类中的 ScrollView 委托(delegate)方法

cocoa - 如何制作自定义非保留类?

swift - 如何配置 WKWebView 来填充 NSWindow?

xcode - 将 .xcassets 文件添加到 Xcode 框架项目

ios - 删除 Parse-server 上的 PFFile,实际文件系统正在填满(长期计划切换到 S3)

ios - 计时器进入底片/不重置

objective-c - 应用非标准电源断言并创建虚拟 HID

ios - Safari 远程调试拾取设备但不显示任何元素

windows - 在 R 中获取允许的语言环境名称的可靠方法是什么?