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)
我是 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)