如何使用 NSVIew.printView 打印 NSOutlineView

How to print an NSOutlineView with NSVIew.printView

我想打印一个 NSOutlineView。该视图是屏幕上 window 的子视图。我注意到 NSView api 调用了 printView。所以我以一种简单的方式尝试了它。在我的 AppDelegate 中,我有一个电话:

@IBAction func doPrint(_ sender: Any?) {
    globalOutlineCntrl?.outlineView.printView(self)
}

因此 window 包含屏幕上的大纲,我发出了 doPrint 调用。

屏幕上的轮廓如下所示: doPrint 调用似乎有效,但打印如下: 有没有办法使这项工作?如果不是,如何打印子视图轮廓?

深色模式会导致一些打印问题。最简单的解决方法是创建一个单独的、具有强制光外观的编程视图,克隆所需的内容,然后打印该视图。

view.appearance = NSAppearance(named: .aqua)