如何在Mac OS X上制作一个可拖动的菜单栏图标

4

我正在为我开发的应用程序编写菜单栏图标。然而,NSStatusBar类没有一个方法可以通过cmd+左键拖动使图标可拖动。

如何使用Objective-C代码使您的菜单栏图标可拖动?

谢谢 :)

1个回答

10

使用NSStatusBar目前无法做到这一点。NSMenuExtra的行为方式将符合您的要求,但不幸的是,它不是公共Cocoa API的一部分,并且据我所知(我自己没有使用过),即使让它起作用也需要一些技巧。此外,NSStatusBar将更容易集成到现有应用程序中,而NSMenuExtra则更像是由系统加载的单独的捆绑包。

在我看来,依赖私有API添加此类重要功能并不是一个好主意。我建议使用NSStatusBar,大多数用户将习惯于从其他应用程序中了解其行为,如果幸运的话,以后的Mac OS X版本将允许像NSMenuExtra那样拖动图标。


http://cocoadevcentral.com/articles/000078.php 是一篇关于NSMenuExtras的好文章。但我也推荐使用有文档支持的NSStatusItem。 - mfazekas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接