2011-07-13 78 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