最近本身盲撸了一个macOS应用,主要是为了方便学生能更高清的看在下的教学视频,摸爬滚打了一两个月终于准备上线了,打包后又出现官方责任的bug了(习惯性崩溃):swift
我并无对关闭按钮作自定义,所有采用的是默认行为。bash
可如今的效果是四不像,也不是关闭App,也不是隐藏App(相似于最小化)app
大海捞针般找啊找啊,最后仍是在文档里找到了:ui
optional func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool
复制代码
这是NSApplicationDelegate
(App的生命周期相关)的一个方法,能够说很形象了spa
在AppDelegate.swift文件里,实现这个方法,返回true便可code
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
//...
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}
}
复制代码
若是如今App仅剩一个窗口,用户按左上角关闭按钮时将退出整个App(等同于command+Q
或右击程序坞点退出),符合用户习惯。cdn
ps:若是须要当用户点击关闭按钮隐藏App
功能的同窗能够留言我。视频
不知道为何苹果要画蛇添足,macOS的世界,寒冬继续。blog