【发布时间】:2021-07-20 04:45:30
【问题描述】:
我在 App Store 上有一个单窗口 LSUIElement 应用程序(“状态菜单”应用程序,缺少菜单栏)。
我希望我的应用能够打印,所以我在 XCode 中添加了打印功能。打印由应用程序委托完成,由菜单项触发。这很好用。
可悲的是,现在各地的每个 NSView 都有由 cmd-P 触发的打印。这包括 NSTableViews、NSTextFields、NSTextViews 等。例如,在搜索字段中按 Cmd-P(甚至不在状态菜单中),它想要打印自己。
我几乎找不到有关此行为的任何信息。当然可以禁用它吗?否则,进入响应者链的每个接口元素都必须被子类化。子类化 NSSearchField 甚至不起作用(print: 的子类实现没有被调用,但它仍然会打印)。
我是否忽略了什么?
【问题讨论】:
-
类似,但 LSUIElement 详细信息(在 .xib 中有一个菜单栏,即使菜单栏从未显示,其键盘快捷键也会被触发)使这种情况与 IMO 有点不同。
标签: macos cocoa printing nsview