如何在Dock中的应用程序中添加菜单?

Mar*_*ark 5 macos window dock swift

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

例如,在Safari中,您可以在上下文菜单中看到新窗口.

Mar*_*ark 8

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

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

  1. 启动Interface Builder.
  2. 为您的菜单创建一个新的nib文件.
  3. 创建一个菜单,其中包含您要添加到菜单中的项目.
  4. dockMenu文件所有者的出口(默认为NSApplication)连接到菜单.
  5. Info.plist使用键将nib名称添加到AppleDockMenu.指定的nib名称没有扩展名.

使用应用程序委托动态添加菜单项

应用程序还可以动态地为应用程序的Dock磁贴菜单提供项目.为此,应用程序的委托对象提供了一种applicationDockMenu:方法.此方法返回NSMenu对象,该对象提供要添加到菜单的所有自定义菜单项.如果您还使用nib文件提供了菜单(请参阅使用Nib文件添加静态菜单项),则委托返回的任何菜单都将替换nib文件中提供的菜单.

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