2011-07-13 39 views
2

我在UIView上画了一条线。它工作正常。我做了同样的事情,在这里描述:[问题]:http://stackoverflow.com/questions/2595446/drawing-an-image-is-completely-out如何清除UIView上的绘图线

现在我需要擦除这些行。擦除意味着我在触摸屏上移动手指后需要擦除它。就像橡皮擦一样。我该怎么做?

回答

0

如果您要求在用户触摸它时擦除整行,比我不知道如何实现这一点,但是如果您要求擦除用户触及的部分线条,则比您更容易可以绘制一条颜色线,您正在使用该线绘制线条,以此方式您将获得橡皮擦效果。

+0

他们也是背景图片。它在底部UIView。我在第二个视图上画一条线。它是在第一个视图之上创建的。所以'' – Gayan

+0

我认为你可以绘制一个线的alpha值为0,并与它下面的线相交。你有没有尝试过? – Robin

+0

CGContextTranslateCTM(context,0,rect.size.height); CGContextScaleCTM(context,1.0,-1.0); CGContextDrawImage(context,rect,imageRef); CGImageRelease(imageRef); \t \t \t CGContextTranslateCTM(context,0,rect.size.height); \t \t \t CGContextScaleCTM(context,1.0,-1.0);} [erasImage drawAtPoint:lastPoint blendMode:kCGBlendModeDestinationOut alpha:eraseSpeed]; CGContextSetFillColorWithColor(context,[UIColor redColor] .CGColor); CGContextFillRect(context,rect); } \t imageRef = CGBitmapContextCreateImage(context); }' – Gayan

0

您必须致电setNeedsDisplayInRect:(UIView)将行的矩形设置为无效。只有这个矩形将被重绘,直到下一个绘图周期。

确保您可以请求的drawRect:方法中有一个标记,用于标识是否应绘制该线条。

+0

[link](http://craigcoded.com/2010/12/08/erase-top-uiview-to-reveal-content-underneath/) Theck that link。 和 请检查此代码; //第一次进来,我们从纯色开始 CGContextSetFillColorWithColor(context,maskColor.CGColor); CGContextFillRect(context,rect) 如果我在这里加载我的绘图,那么它的工作很酷。我如何将我的图纸加载到这里。 – Gayan