Swift mac app -> 移动光标关闭 NSWindow

Swift mac app -> Moving cursor closes NSWindow

我是 MAC 使用 swift 进行应用程序开发的新手。我有一个带有不同菜单选项的 NSViewController。

其中,我已经打开一个 NSWindow 并点击 "Window" 菜单选项,打开另一个 window。

let passwordVC = PasswordViewController()
        let pwdWindow = NSWindow(contentViewController: passwordVC)
        pwdWindow.title = "Password"
        pwdWindow.orderFront(self)
        let controller = NSWindowController(window: pwdWindow)

        controller.showWindow(self)

但是当我开始移动光标时它会自动关闭。我什么都不做,它留下来。我不确定是什么问题。请帮忙。

从发布的代码来看,您的 window 超出范围,这将破坏它。尝试将 window 保留在更高范围的变量中。就像 class 属性:

class Controller: NSViewController {
    var pwdWindow: NSWindow!
    override func viewDidLoad() {
        pwdWindow = NSWindow(contentViewController: passwordVC)
    }
}

我是这样用的。它对我有用。似乎是另一种方式。

 let passwordVC = PasswordViewController()
        let pwdWindow = NSWindow(contentViewController: passwordVC)
        pwdWindow.title = "Password"
        let application = NSApplication.shared()
        application.runModal(for: pwdWindow)