【发布时间】:2018-10-01 15:43:21
【问题描述】:
我在我的应用程序中使用 PDFView 实例。我想将我自己的项目添加到上下文菜单中,并删除一些不适合我的应用程序的默认项目。
一些默认项目是合适的,所以理想情况下我会调整现有菜单而不是构建新菜单。
当我创建 pdf 视图时,不存在有效的 pdfView.menu 项,因此我无法设置自己的委托。
我尝试使用从 PDFView 继承的类(声明为 NSMenuDelegate)并覆盖 menuWillOpen 和 menuNeedsUpdate - 但我的代码从未被调用。
我可以看到 PDFView 在呈现的上下文菜单中混合了文本字段和 pdf 相关菜单项,具体取决于文本选择,因此显然那里没有固定菜单。
无论如何我可以拦截它还是我只需要强制我自己的菜单?
在 MacOS 10.13 上。
【问题讨论】:
-
关于菜单的部分取决于选择可能是关于
autoenabling功能,但是有效。 -
谢谢@Fabian。我不想禁用项目,我想完全删除它们(或至少隐藏)。我能够使用 Willke 的解决方案而无需进行任何验证 - 即我保持自动启用。