微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

macos – 在Swift中处理窗口的关闭事件

如何使用 swift处理窗口的关闭事件,例如,询问“你确定要关闭表单吗?”

enter image description here

表格将在“是”的情况下关闭,在“否”的情况下不关闭.显示消息框对我来说不是问题.

viewWilldisappear()也适用于最小化,但我只需要关闭事件.

谢谢.

解决方法

如上所述,您应该将ViewController设为NSWindowDelegate,但是您应该处理windowWillClose,而不是windowShouldClose. windowShouldClose是确定窗口是否能够关闭,而不是窗口实际关闭的事件.

我还发现你需要在viewDidAppear中设置委托,而不是viewDidLoad.对我来说,在viewDidLoad中尚未定义self.view.window.

override func viewDidAppear() {
    self.view.window?.delegate = self
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐