文章包含以下内容
-
窗口操作
-
如何拦截用户的窗口关闭操作
-
如何用隐藏代替关闭窗口
-
如何用窗口退出显示队列代替关闭
-
如何窗口关闭后icon保持在Dock栏
-
如何在关闭窗口时彻底杀死程序
-
如何重新打开已关闭的窗口
-
窗口外观
-
大小
-
颜色
窗口操作
1、如何拦截用户的窗口关闭操作?
首先我们要知道,在用户点击窗口左上角x关闭窗口时,系统首先调用的是
func windowShouldClose(_ sender: NSWindow) -> Bool
这个方法。该方法默认返回true,即点击关闭就销毁窗口。
我们在重写该方法,即可修改用户行为。
extension AppDelegate: NSWindowDelegate {
func windowShouldClose(_ sender: NSWindow) -> Bool {
NSApp.hide(nil)
return false
}
}
NSApp.hide(nil)将关闭行为修改为了隐藏窗口行为。
在使用该方法前,记得在func applicationDidFinishLaunching中,将window.delegate = self,这样才可以生效。
2、如何用窗口退出显示队列代替关闭?
既