如何点击红色 "X" 并最小化应用程序而不是关闭它?

How to click on the red "X" and minimize the app instead of closing it?

要关闭我一直在使用的应用程序:

on applicationShouldTerminateAfterLastWindowClosed:sender
        return true
    end applicationShouldTerminateAfterLastWindowClosed:

我希望当我点击红色 "X" 时,应用程序不会关闭,只是最小化或隐藏到 Dock,这样当我点击它时我可以再次打开它。

你可以在application delegate中实现如下方法来控制应用程序是否在最后一个window关闭时关闭:

on applicationShouldTerminateAfterLastWindowClosed:theSendingApp
    -- this keeps the application running
    return false 
end applicationShouldTerminateAfterLastWindowClosed:

根据您设计的应用类型和您使用的 window 类型,当您重新激活应用时(例如,当单击停靠项目)。您可能需要向应用程序委托添加另一个方法来处理这种情况:

on applicationShouldHandleReopen:theSendingApp hasVisibleWindows:openWindowFlag
    if openWindowFlag is true then
        return true
    else
        theWindow's makeKeyAndOrderFront:me
        return true
    end if
end applicationShouldHandleReopen:hasVisibleWindows:

theWindow 指的是应用程序委托中的 属性,它包含寡妇引用(我相信这就是 Xcode 在默认实现中对它的命名)。您应该检查 xib 中的 window 对象:查看属性检查器并确保复选框 'Released when closed' 为 off。您希望在 window 关闭后保留它以便再次打开它。