你如何以编程方式显示NSMenu?

7 macos cocoa

我写了一个住在NSStatusBar中的小应用程序.我希望有一个全局快捷方式,当点击时,显示菜单栏的内容,就像聚光灯的行为一样.我已经为我的应用程序添加了一个全局键快捷键,但是我无法显示meun栏.我怎样才能做到这一点?我尝试使用"popUpContextMenu",但该方法显示左下角的菜单,我希望菜单在NSStatusBar菜单图标下打开.

小智 5

你可以这样做,apple为它提供了一个方法"popUpStatusItemMenu"

  • http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ApplicationKit/Classes/NSStatusItem_Class/Reference/Reference.html#//apple_ref/occ/instm/NSStatusItem/popUpStatusItemMenu: (2认同)

Rob*_*ger 0

我认为如果不使用辅助功能框架来模拟对状态项的点击,就没有受支持的方法来执行此操作。无论如何,以这种方式滥用菜单可能不是一个好主意。

Spotlight 菜单栏项不使用 NSMenu,它使用自定义窗口/视图。如果您要显示某种自定义视图,您可能会考虑采用此路线。