2011-07-13 19 views
2

UIViewに線を引いた。それは正常に動作しています。私はここで説明したのと同じことをしました:[質問]:http://stackoverflow.com/questions/2595446/drawing-an-image-is-completely-outUIViewで描画線を消去する方法

そして、私はこれらの行を消去する必要があります。消去は、指をタッチスクリーン上に移動した後、消去する必要があることを意味します。ちょうど消しゴムのように。どうしたらいいですか?

答えて

0

ユーザーがタッチしたときに行全体を消去するように求めている場合は、それを達成する方法が分かりませんが、ユーザーが触れた部分を消去するように求める場合は、線を描画するために使用しているビューを色の線で描画して、そのようにして消しゴムの効果を得ることができます。

+0

彼らも背景イメージです。下のUIViewにあります。私は2番目のビューで線を描きます。最初のビューの上に作成されます。だから '' – Gayan

+0

私はあなたが0としてアルファ値を持つ行を描画することができ、それはその下の線と交差すると思います。あなたはそれを試しましたか? – Robin

+0

CGContextTranslateCTM(コンテキスト、0、rect.size.height); CGContextScaleCTM(context、1.0、-1.0); CGContextDrawImage(context、rect、imageRef); CGImageRelease(imageRef); \t \t \t CGContextTranslateCTM(文脈、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(コンテキスト)。 } ' – Gayan

0

あなたは無効とラインの矩形を設定する(のUIView)setNeedsDisplayInRect:を呼び出す必要があります。この矩形だけが次の描画サイクルまで再描画されます。

は、あなたがラインを描くべきか否かを識別し、あなたが求めることができdrawRect:方法で旗を持っていることを確認してください。

+0

[リンク](http://craigcoded.com/2010/12/08/erase-top-uiview-to-reveal-content-underneath/) Theck。 と このコードも確認してください。 //はじめは単色で始まります。 CGContextSetFillColorWithColor(context、maskColor.CGColor); CGContextFillRect(context、rect) ここに図面を読み込むと、それはうまく動作します。ここに図面を読み込むにはどうすればいいですか? – Gayan

関連する問題