【发布时间】:2011-03-26 14:53:21
【问题描述】:
在我的应用程序中,我正在显示 PDF 页面,并希望允许用户通过在页面顶部徒手绘制来“标记”文档。我可以处理 Quartz 代码来进行手绘,但是我可以使用什么方法来保存这些“标记”,以便下次用户将 PDF 加载到应用程序中时它们可以重新显示在页面上?
谢谢,
//斯科特
【问题讨论】:
在我的应用程序中,我正在显示 PDF 页面,并希望允许用户通过在页面顶部徒手绘制来“标记”文档。我可以处理 Quartz 代码来进行手绘,但是我可以使用什么方法来保存这些“标记”,以便下次用户将 PDF 加载到应用程序中时它们可以重新显示在页面上?
谢谢,
//斯科特
【问题讨论】:
问题:
解决方案:
保存 PDF 页面引用就像保存与 PDF 和当前页面关联的 URL 一样简单。
保存绘图指令可以像归档用作绘图指令的UIBezierPaths 一样简单,因为UIBezierPath 符合NSCoding。如果您改用CGMutablePathRef,则可以从CGPath 初始化UIBezierPath 并归档新初始化的贝塞尔路径。解压后,您可以从UIBezierPath 中检索CGPath。
如果您不需要用户能够在接下来的会话中编辑绘图说明,那么您可以将绘图渲染为静态图像,并在下次加载并绘制它。在该会话之后,将这些指令渲染到原始图像上,将其保存,然后像以前一样继续。
【讨论】: