【问题标题】:NSViews insist on printing - how to disable this?NSViews 坚持打印 - 如何禁用它?
【发布时间】: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


【解决方案1】:

已解决:我在 .xib 文件中有一个带有 cmd-P 快捷方式的主菜单栏,通常的打印命令指向第一响应者。删除菜单栏(从未显示)可以解决不需要的打印行为。

【讨论】:

    猜你喜欢
    • 2012-08-16
    • 2013-11-03
    • 2020-08-19
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多