2

我正在创建一个基于矢量的绘图应用程序,并且真正基于矢量我需要有一个“无限”的画布。所以我创建了以下结构:

UIVIew (canvas view)
  |
  CALayer (canvas container)
    |
    CAShapeLayer (the drawn shapes)
    ...

用户绘制的每个形状都是一个 CAShapeLayer,并为其分配了 CGPath。当用户缩小容器(比如容器的大小约为 10000x10000 点)并绘制新形状时,我得到比例为 1 的点,然后为新的 CAShapeLayer 分配比例变换(这是我唯一的方法发现有效)。 

问题是在我的应用程序中我可以在两个对象之间绘制连接,所以我使用 CAShapeLayer 来绘制连接但是当缩小时(比如两个形状之间的距离约为 5000pts)我用两点画一条线,距离是大约5000pts。这样做我认为跳板重新启动。我读过 CAShapeLayer 只缓存绘制路径的像素,也许这就是我的问题。所以我请求你们的帮助,因为我没有想法。是否有不同的方法来绘制这些巨大的形状并轻松操作它们。

先感谢您。

4

0 回答 0