我正在使用 Mac OS 10.12,并且有一个使用 PDFKit 界面显示 pdf 文件的应用程序。但是我遇到了以下问题
将pdf文档设置为PDFView,在OS10.11等原版操作系统中,会调用PDFView->drawPage()函数,而在OS10.12中,不调用该函数;
PDFView can't draw pdf annotation in OS10.12;
上述解决方案将不胜感激
我正在使用 Mac OS 10.12,并且有一个使用 PDFKit 界面显示 pdf 文件的应用程序。但是我遇到了以下问题
将pdf文档设置为PDFView,在OS10.11等原版操作系统中,会调用PDFView->drawPage()函数,而在OS10.12中,不调用该函数;
PDFView can't draw pdf annotation in OS10.12;
上述解决方案将不胜感激
我认为这要么是一个直接的错误,要么是一个尚未记录的 API 更改。我将此记录为错误 (27666426),现在可以看到它被标记为打开的副本 (27668895)。
请注意,10.12 Beta 6-drawWithBox:toContext:
被调用来代替现在已弃用的-drawWithBox:
. 请注意,所有绘图都需要使用传入的上下文。
更新:
然而,现在发布的 10.12 似乎并不那么简单。我发现-drawWithBox:
在 10.11 和-drawWithBox:toContext:
10.12+ 上驱动的 PDF 视图打印已损坏。
通过汇编程序,我可以看到 10.12 在打印时现在调用-drawWithBox:inContext:
not -drawWithBox:toContext:
or -drawWithBox:
(就像 10.11 上的情况一样)。选择器似乎inContext:
已经存在了一段时间。
似乎在 10.9-10.12 上适用于屏幕和打印渲染的唯一解决方案是使用未记录的 -drawWithBox:inContext:
.