【问题标题】:Detect maximize/minimize window event and do it programmatically检测最大化/最小化窗口事件并以编程方式执行
【发布时间】:2016-11-10 20:45:00
【问题描述】:

如何检测最小化/最大化窗口并以编程方式执行此操作。我知道我需要使用NSWindowdelegate,但是:

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

这不起作用。以及如何以编程方式最大化/最小化不知道。

【问题讨论】:

    标签: swift macos cocoa nswindow


    【解决方案1】:

    这一切都在NSWindowDelegate 上的 Apple 文档中:https://developer.apple.com/reference/appkit/nswindowdelegate

    您可以在您的类中实现设置为您的窗口的委托:

    func windowWillMiniaturize(Notification) 
    

    告诉代理窗口即将被最小化。

    func windowDidMiniaturize(Notification)
    

    告诉代理窗口已被最小化。

    func windowDidDeminiaturize(Notification)
    

    告诉代理窗口已被最小化。

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

    您可以从窗口的任何位置拨打电话:

    func performMiniaturize(Any?)
    

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

    func miniaturize(Any?)
    

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

    func deminiaturize(Any?)
    

    最小化窗口。

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 2020-01-16
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多