如何使用swift处理窗口的关闭事件,例如询问“Are you sure you want to close the form?”
表单将在"is"的情况下关闭,在“否”的情况下不会关闭。显示消息框对我来说不是问题。
viewWillDisappear() 也适用于最小化,但我只需要关闭事件。
谢谢。
最佳答案
如上所说,您应该使 ViewController
成为 NSWindowDelegate
,但您应该处理 windowWillClose
,而不是 windowShouldClose
。 windowShouldClose
是判断窗口是否可以关闭,不是窗口真正关闭的事件。
我还发现您需要在 viewDidAppear
中设置 delegate
,而不是 viewDidLoad
。对我而言,self.view.window
尚未在 viewDidLoad
中定义。
override func viewDidAppear() {
self.view.window?.delegate = self
}
关于macos - 在 Swift 中处理窗口的关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33215860/