Xcode 在iOS中使用pdf在CATiledLayer或CALayer上绘制

Xcode 在iOS中使用pdf在CATiledLayer或CALayer上绘制,xcode,ios5,quartz-graphics,drawrect,quartz-core,Xcode,Ios5,Quartz Graphics,Drawrect,Quartz Core,我有一个scrollview,其中包含一个用CATiledLayer呈现的pdfpage,我想在pdf页面上绘制东西,所以我创建了一个覆盖层,我需要图形看起来矢量化,所以我决定使用CATiledLayer作为覆盖层。唯一的问题是绘制速度非常慢(我使用beizerpath来绘制),然后我尝试通过在放大和缩小时创建具有可见高度和宽度的覆盖层来优化它,所以我不需要为整个内容绑定创建覆盖层。但仍然没有运气,我想尝试CALayer,但绘制路径变得模糊和像素化,所以我不确定如何改进这一点。我还尝试了draw

我有一个scrollview,其中包含一个用CATiledLayer呈现的pdfpage,我想在pdf页面上绘制东西,所以我创建了一个覆盖层,我需要图形看起来矢量化,所以我决定使用CATiledLayer作为覆盖层。唯一的问题是绘制速度非常慢(我使用beizerpath来绘制),然后我尝试通过在放大和缩小时创建具有可见高度和宽度的覆盖层来优化它,所以我不需要为整个内容绑定创建覆盖层。但仍然没有运气,我想尝试CALayer,但绘制路径变得模糊和像素化,所以我不确定如何改进这一点。我还尝试了drawinrect,但由于某些原因,它似乎不起作用。

我建议不要使用bezierpath来绘制批注,因为它要求您在每次画笔移动时重新绘制整个路径。如果使用CGContextAddQuadCurveToPoint仅绘制当前线段,效果会更好

  • 触摸移动时,获取当前点和2个上一点
  • 使用这些点,得到应该绘制直线的区域
  • 使用setNeedsDisplayAtRect在drawRect中的该区域绘制
  • 在drawRect中,转到路径的末尾,使用CGContextAddQuadCurveToPoint添加新行

  • 发布一些我们可以尝试的代码,并具体说明一个特定的问题。如前所述,你的问题太模糊,不值得费心。