在uiview中缓存绘图

时间:2012-03-08 21:13:19

标签: objective-c cocoa-touch uiview core-graphics

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

enter image description here

我需要擦除线条的淡蓝色部分,留下深蓝色部分

1)(当前方法部分有效)我可以使用底视图中的路径形状作为顶视图中的蒙版,但它只是掩盖了UIView。如果我以后需要更改遮罩位置,矢量笔划仍然存在。 (我知道这是因为我的所有线都在视图的正确处重新绘制)

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

3)有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

此链接提供了答案: Building a Simple Drawing App

我将绘图缓存到位图上下文然后剪切掉 位图不需要的部分。