2016-06-01 25 views
0

我注意到,在Docker上的每个应用程序在Mac上,当它没有打开并按住Ctrl时,会出现一个弹出菜单,里面有一个菜单项“显示最近”,当打开应用程序这个项目将成为“显示所有窗口”。我想知道如何使它现在工作,当我点击它在我自己的应用程序,它没有任何显示。如何在OS 10.9及更高版本上实现“显示最近”项目

我已经测试过使用文档控制器并使用noteNewRecentDocumentURL:方法,但仍然是“打开最近”项目中的“文件”和“显示最近”泊坞窗,它不显示我刚刚添加的网址。

回答

1

我不知道,你在哪里点击应用程序来显示菜单。最近的文件列表在子菜单中显示

  • 在应用程序的文件菜单打开最近使用在应用程序的列表,每个文件
  • 可能会在某一个项目的Dock菜单
  • 与应用相关的

但是其中显示等地,列表自动[NSDocumentController sharedDocumentController],这是添加到项目模板基于文档的AP管理褶皱。如果您没有基于文档的应用程序,则应重新检查,这是否是更好的选择。但是你可以在基于非文档的应用程序使用[NSDocumentController sharedDocumentController]还有:

在某些情况下,这是值得继承NSDocumentController非基于NSDocument的应用程序获得它的一些功能。例如,打开最近菜单的NSDocumentController管理在不使用NSDocument的子类的应用程序中很有用。

Documentation

有管理包含方法-noteNewRecentDocumentURL:NSDocumentController的文档中的描述中的最近打开菜单一个部分。你必须将此邮件发送到共享实例, 只要你想一个项目添加到最近的文件列表:

[[NSDocumentController sharedDocumentController] noteNewRecentDocumentURL:theURLOfTheDocYourAppOpens]; 

请注意:不是基于NSDocument

应用程序也必须实现application:应用程序委托中的openFile:方法,用于处理来自“打开最近”菜单命令的请求。

如果您不想使用文档控制器,则必须自行维护列表并手动将其添加到不同的位置。你可以开始here。我不推荐。

+0

https://discussions.apple.com/thread/3258198?start=0 – Ryan

+0

你可以参考那个链接,这就是我的意思,这就是我想让它在我的应用程序上工作 – Ryan

+0

那么,在我的Mac(OS X 10.11.5)不会显示在子菜单*最近的项目*中,而是直接显示在扩展坞菜单中。 (您的链接是指从2011年开始的帖子!)但是,这就是为什么您应该使用文档控制器的原因:如果显示的位置或方式发生变化,您不必关心它。按我的答案中的建议使用它。 –

相关问题