gpt4 book ai didi

Cocoa:接收已运行应用程序的停靠图标单击

转载 作者:行者123 更新时间:2023-12-03 16:37:56 25 4
gpt4 key购买 nike

我正在编写一个应用程序,其主窗口在应用程序启动时显示。当窗口关闭时,我希望应用程序保持运行(使用菜单栏菜单),并且如果用户再次单击停靠图标,我希望再次显示主窗口。

我已经完成了大约 90%:在使用 Cmd-W 关闭主窗口后,我的应用程序正常保持运行,并且由于未选中“关闭时释放”,因此该窗口可能是 [makeKeyAndOrderFront:]-ed单击停靠图标时再次显示它。

这个难题唯一缺少的部分是拦截实际的停靠图标点击。

有关此主题的其他线程建议在窗口 Controller 中实现 applicationShouldHandleReopen:hasVisibleWindows: 或 applicationShouldOpenUntitledFile: 。这两件事我都做过,但都没有接到电话。

还有其他想法吗?

最佳答案

The other threads about this topic recommend implementing either applicationShouldHandleReopen:hasVisibleWindows: or applicationShouldOpenUntitledFile: in the window controller.

仅当窗口 Controller 是应用程序的委托(delegate)时,这才是正确的。这是应用程序向其发送这些消息的对象。

不过,我不会将窗口 Controller 作为应用程序的委托(delegate)。我通常将它们制作为两个独立的对象。专门创建一个对象作为应用程序的委托(delegate),当该对象收到相关委托(delegate)消息时,向窗口 Controller 发送一条消息,告诉它执行需要执行的操作。

实际上,我通常在单窗口应用程序中所做的就是让应用程序的委托(delegate)创建并拥有窗口 Controller 。您可以通过扔掉 WC 来响应窗口关闭,并通过检查是否有 WC 并在没有 WC 时创建一个(从而重新打开窗口)来响应重新打开窗口。

关于Cocoa:接收已运行应用程序的停靠图标单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12649775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com