可可:报告单击停靠图标

Posted

技术标签:

【中文标题】可可:报告单击停靠图标【英文标题】:Cocoa : Repport click on dock icon 【发布时间】:2012-07-04 18:15:00 【问题描述】:

有没有办法报告每次鼠标点击应用程序停靠图标?

【问题讨论】:

【参考方案1】:

不完全安全(也可以通过双击应用程序本身来激活), 但绝对是最简单的实现方式:

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag

引用NSApplicationDelegate Protocol Reference:

每当 Finder 重新激活已运行的应用程序时发送这些事件,因为有人再次双击它或使用 Dock 激活它。

【讨论】:

我已经拿到了那个。我用它来弹出一个nsmenu。但是一旦打开菜单,我就不会调用该功能。 我的错误。如果applicationShouldHandleReopen 没有被调用,那是因为菜单是模态的。【参考方案2】:

我想建议Anne 提供的answer 的替代解决方案,它可以避免与用户双击应用程序图标而不是停靠图标的事件发生冲突。

因此,我建议使用

- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender;

另请参阅Apple's documentation。

【讨论】:

以上是关于可可:报告单击停靠图标的主要内容,如果未能解决你的问题,请参考以下文章

单击停靠图标时如何打开应用程序窗口?

当用户在 Qt 应用程序中单击任务栏/停靠图标时获取事件或通知

如何在可可中的应用程序停靠图标上绘制mac旋转等待光标

如何将侦听器添加到 osx 上的 java 停靠图标

使用可可刷新finder中文件或文件夹的图标

可可:知道应用程序图标在dock中的位置