NSStatusBar 使用菜单拖放

Posted

技术标签:

【中文标题】NSStatusBar 使用菜单拖放【英文标题】:NSStatusBar drag & drop with menu 【发布时间】:2012-07-29 06:06:28 【问题描述】:

我熟悉这里描述的技术:Drag and Drop with NSStatusItem 制作一个可以处理文件拖放的 NSStatusBar 项。

让状态栏项目同时支持拖放和常规菜单交互的正确方法是什么,就像 Cloudapp 图标一样。

我希望用户能够左键单击 NSStatusItem 以查看正常的菜单列表以及允许文件拖放功能。

在我看来,如果我在 NSStatusItem 上使用自定义视图,我必须编写所有自己的点击处理程序代码。所以我必须自己手动检测点击并显示我的菜单项。

我只是想确保在开始实施之前没有更简单(或更好)的方法。

【问题讨论】:

【参考方案1】:

据我所知,您需要 NSStatusItem 上的自定义视图来处理拖放操作。不过,在这种情况下,也很容易将点击处理添加到视图中。 您不必自己绘制菜单——如果这是您所要求的——在您的 NSStatusItem 上调用 - (void)popUpStatusItemMenu:(NSMenu *)menu 就足够了。

【讨论】:

以上是关于NSStatusBar 使用菜单拖放的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa NSStatusBar 全局热键

Swift:右键/左键单击 NSStatusBar

Mac开发基础练习:制作一个状态栏(NSStatusBar)上的App

如何访问系统选择的菜单项蓝色?

如何在 Mac OS 中显示菜单栏图标 [重复]

如何使用 PHP/Laravel 创建、重命名、删除、拖放的上下文菜单创建 JSTree 视图?这是完整的解决方案