我正在尝试在我的资源包中由 CGContextRef 生成的 pdf 文档上绘制触摸(鼠标点击)。我从 Apple zoomingpdfviewer开始,
在那里我有一个 UIScrollView 和 Pdf 是由CGContextDrawPDFPage(context, pdfPage);
我还在 scrollView 上添加了一个 CATiledLayer,并且每次都在 layoutSubviews 中绘制它 - 当 UIScrollView 被缩放时。我有点困惑,我应该在 scrollView CGContext 或 TileLayers 上绘制鼠标点。
--> 继续前进,我想在用户点击的 pdf 文档上添加一个矩形/圆圈/点。
刚开始我是: CGContextMoveToPoint(context, 5,5);
CGContextSetLineWidth(context, 12.0f);
CGContextSetStrokeColorWithColor(context, [[UIColor redColor] CGColor]);
CGContextAddRect(context, CGRectMake(50, 50, 20, 50));
CGContextAddLineToPoint(context, 25, 5);
CGContextStrokePath(context);
将其绘制到当前上下文。同样,我计划在用户点击时进行绘制。
但是当我缩放并重新绘制 TitledLayer 以匹配缩放内容时,这些绘制的矩形/圆形消失了。
如果我没记错,那么 CATiledLayer 被绘制在 currentContext rects/ circle 之上。
最终功能与添加了 Tile Layers 的 Maps App 非常相似,但即使在地图缩放后,放置的点也完全位于同一位置。
在看到许多诸如在 scrollView、pdf iOS 查看器上绘图之类的帖子后,非常迷茫。
有谁知道我如何在 pdf 文档上绘制几何图形(矩形/点)并保持它们的位置完全相同,即使 PdfView 放大和缩小?我应该将 pdf 转换为图像还是任何其他方式来做到这一点?