2012-03-08 66 views
1

我有一个UIView,允许用户在屏幕上绘制一条线(myLine)。这个UIView直接在另一个具有用CGPaths绘制的几个形状的UIView之上。当用户点击这些形状之一时,我需要擦除myLine上方的其他形状之一的任何部分,就像我用橡皮擦擦除像素一样。 什么是最好的方法来解决这个问题?在uiview中缓存绘图

enter image description here

我需要的行的淡蓝色部分被擦除留下深蓝色部分

1)(目前的方法部分作品)我能够使用路径的形状从底部视图作为顶视图中的掩码,但它只掩盖了UIView。如果我以后需要更改掩码位置,矢量笔画仍然存在。 (我知道这是因为我所有的线都被重绘在视图的正确位置)

2)绘制每一行后,我应该以某种方式缓存绘图作为图像然后 切出三角形内的部分?

3)有没有更好的方法呢?

回答