检测 maximize/minimize window 事件并以编程方式执行

Detect maximize/minimize window event and do it programmatically

如何检测 Minimize/Maximize window 和 以编程方式执行此操作。我知道我需要使用 NSWindowdelegate,但是:

class AppDelegate: NSObject, NSApplicationDelegate, NSWindowdelegate {
    func windowWillMiniaturize(_ notification: Notification) {
            print("1")
        }
}

这不起作用。以及如何以编程方式 maximize/minimize 不知道。

NSWindowDelegate 上的 Apple 文档中均有:https://developer.apple.com/reference/appkit/nswindowdelegate

您可以在 class 中实施,它被设置为您的 window 的委托:

func windowWillMiniaturize(Notification) 

告诉委托人 window 即将被最小化。

func windowDidMiniaturize(Notification)

告诉委托人 window 已被最小化。

func windowDidDeminiaturize(Notification)

告诉委托人 window 已被最小化。

NSWindow 有方法 - 在访问文档时很容易找到:https://developer.apple.com/reference/appkit/nswindow

您可以在 window 上的任何地方拨打电话:

func performMiniaturize(Any?)

通过暂时突出显示按钮来模拟用户单击最小化按钮,然后最小化 window。

func miniaturize(Any?)

从屏幕列表中删除 window 并在 Dock 中显示最小化的 window。

func deminiaturize(Any?)

去最小化 window。