Skip to main content
 首页 » 操作系统

cocoa之NSDocument 不接收 printOperationWithSettings

2024年01月01日69hnrainll

我需要一些帮助来调试未收到 printOperationWithSettings 调用的 NSDocument 子类。

我实现了一个文档子类

class Document: NSDocument { 
... 

并覆盖 printOperationWithSettings 方法:

    override func printOperationWithSettings(printSettings: [NSObject : AnyObject], error outError: NSErrorPointer) -> NSPrintOperation? { 
NSLog(" ******************  printOperationWithSettings") 
    return nil 
} 

但是这个方法永远不会被调用。 readFromData、dataOfType、makeWindowControllers、... 工作正常,但如果我打印,打印首选项面板将打开并且打印作业会在不询问 printOperationWithSettings 的情况下完成它的工作。

我不知道我做错了什么,但更令人沮丧的是我不知道如何调试它。不知道在哪里看以及如何解决这个问题。

我需要打印一个特殊的 View ,而不是当前在屏幕上的 View ,因为用户可以隐藏一些我绝对想在纸上显示的信息。

感谢您提供任何帮助或想法,让我可以查看和挖掘这个问题。

附言

请您参考如下方法:

你是如何开始打印操作的?如果您使用 -printDocument: 启动该方法,则应调用该方法,而如果您调用 -print:

,则不会调用该方法