【问题标题】:How can I add a menu to the application in the dock?如何向 Dock 中的应用程序添加菜单?
【发布时间】:2016-02-14 08:59:49
【问题描述】:

当您右键单击停靠栏中的应用程序时,会弹出一个上下文菜单。如何向其中添加菜单项?

以 Safari 为例,上下文菜单中有新窗口。

【问题讨论】:

标签: swift macos window dock


【解决方案1】:

使用 Nib 文件添加静态菜单项

如果您的应用程序需要将静态项目添加到应用程序的 Dock 磁贴菜单,您可以在 nib 文件中提供这些项目。为此,请执行以下步骤。

  1. 启动界面生成器。
  2. 为您的菜单创建一个新的 nib 文件。
  3. 创建一个包含您希望添加到菜单中的项目的菜单。
  4. 将文件所有者的dockMenu 出口(默认为NSApplication)连接到您的菜单。
  5. 将笔尖名称添加到Info.plist,使用键AppleDockMenu。指定笔尖名称,不带扩展名。

使用应用程序代理动态添加菜单项

应用程序还可以为应用程序的 Dock 磁贴菜单动态提供项目。为此,您的应用程序的委托对象提供了一个applicationDockMenu: 方法。此方法返回一个 NSMenu 对象,该对象提供您希望添加到菜单中的所有自定义菜单项。如果您还使用 nib 文件提供了菜单(请参阅Adding Static Menu Items With a Nib File),则您的委托返回的任何菜单都会替换 nib 文件中提供的菜单。

(来源:https://developer.apple.com/library/mac/documentation/Carbon/Conceptual/customizing_docktile/docktasks_cocoa/docktasks_cocoa.html#//apple_ref/doc/uid/TP30000986-CH3-SW7

【讨论】:

  • 是否有关于如何在应用程序关闭时添加动态菜单的文档/教程。类似于跳转列表菜单,Xcode 有没有到之前打开的项目?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多