我在UIView
上画了一条线。它工作正常。我做了同样的事情,在这里描述:[问题]:http://stackoverflow.com/questions/2595446/drawing-an-image-is-completely-out如何清除UIView上的绘图线
现在我需要擦除这些行。擦除意味着我在触摸屏上移动手指后需要擦除它。就像橡皮擦一样。我该怎么做?
我在UIView
上画了一条线。它工作正常。我做了同样的事情,在这里描述:[问题]:http://stackoverflow.com/questions/2595446/drawing-an-image-is-completely-out如何清除UIView上的绘图线
现在我需要擦除这些行。擦除意味着我在触摸屏上移动手指后需要擦除它。就像橡皮擦一样。我该怎么做?
如果您要求在用户触摸它时擦除整行,比我不知道如何实现这一点,但是如果您要求擦除用户触及的部分线条,则比您更容易可以绘制一条颜色线,您正在使用该线绘制线条,以此方式您将获得橡皮擦效果。
您必须致电setNeedsDisplayInRect:
(UIView)将行的矩形设置为无效。只有这个矩形将被重绘,直到下一个绘图周期。
确保您可以请求的drawRect:
方法中有一个标记,用于标识是否应绘制该线条。
[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
他们也是背景图片。它在底部UIView。我在第二个视图上画一条线。它是在第一个视图之上创建的。所以'' – Gayan
我认为你可以绘制一个线的alpha值为0,并与它下面的线相交。你有没有尝试过? – Robin
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