objective-c - Objective C - 菜单栏图标点击事件

标签 objective-c macos cocoa

我有一个只有菜单栏图标的应用程序。 Menubar icon
我能够收听菜单栏项目:(IBAction)preferencesMenuItemClick:(id)sender Menubar item

但是我怎样才能听菜单栏图标本身呢?
没有可用的已发送操作。
XCode Sent Actions

感谢您的帮助。

最佳答案

如果您只想在用户单击菜单栏图标(实际上是状态项)时收到通知,您可以使用 NSMenuDelegate menuWillOpen: 方法。当状态菜单即将打开时,这将被调用,这与单击状态项本身相同。

请注意,这仅在您使用菜单作为状态项时才有效。如果您使用 NSView 或任何其他可能的组合,则必须使用类似的方法 (loadView)。

引用:https://developer.apple.com/library/mac/documentation/cocoa/reference/NSMenuDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/NSMenuDelegate/menuWillOpen :

关于objective-c - Objective C - 菜单栏图标点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24323509/

相关文章:

swift - SceneKit 场景在 macOS 上高于预期的 FPS

使用 C 或 Perl(非 Objective-C)创建 Cocoa 应用程序

cocoa - Swift、 Storyboard和核心数据……缺少持久存储协调器?

c - 在 C 中处理时区

ios - UISwipeRecognizer 及其关联对象

ios - `isEqualToString` 中的通配符 URL

iphone - 如何在 iphone sdk 中使用 openlayers

objective-c - 使用新数据更新 UITableView

macos - [NSMenuItemCell menuView] 和 [NSMenuItemCell setMenuView] 的 64 位替换

ios - @autoreleasepool 似乎没有耗尽池