停止 NSView 打印

Stop NSView from printing

我在 Xcode 中有一个非常基本的 Mac 应用程序,它有一个包含 PDFThumbnailView 和 PDFView 的拆分视图。 (就像预览一样。)

除了将 PDF 加载到视图中所需的代码之外,几乎没有任何 Swift 代码。

但是,当我从“打印”菜单 select 打印时,应用程序想要打印 ThumbnailView,除非我先单击 PDFView。

有没有办法让它始终打印 PDFView 而不是 ThumbnailView?我认为它是情节提要中某处的设置或参数,而不是这样的代码。

Xcode Mojhave 10.14.5 上的 10.2.1。

一个简单的解决方案是在您的控制器上提供您自己的打印方法(如 printContent:),并在您的 XIB 文件中将打印菜单项的目标方法更改为 printContent: 而不是print:


// eg.
@IBOutlet weak var pdfThumbnails: PDFThumbnailView!
@IBOutlet weak var pdfContent: PDFView!

...

@IBAction func printContent(_ sender: Any) {
   self.pdfContent.printView(sender)
}