最近本身盲擼了一個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