これは、iPad アプリケーションのビューで Core Graphics を使用して (タッチ イベントに応答して) パスを描画することに関連する質問です。
スクロールビューの一部として、タッチのパスをトレースしたいビューがあります。以下のコードは、アプリ内の他の uiimageviews では機能しますが、この特定のサブビューでは機能しません。(画面をなぞったりタッチしたりして) 描画すると、線が表示されますが、y 方向に動き始めます。そのため、トレース全体が y 方向に圧縮され続けます!! 線が上に移動するにつれて、それらも拡散し、最終的には消えるように見えます!
スクロールビュー外の別のビューでも同じコードが正常に機能します。過去 3 日間オンラインで検索し、ここで何が起こっているのかを理解しようと何時間も費やしましたが、まだ手がかりがありません。ヘルプ/提案をいただければ幸いです。
ありがとう。
描画用の私のコードは次のとおりです。
UIGraphicsBeginImageContext(coverIVFragments.frame.size);
[coverIVFragments.image drawInRect:CGRectMake(0, 0, coverIVFragments.frame.size.width, coverIVFragments.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 2.0);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), red, green, blue, 1.0);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), x1, y1);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), x2, y2);
CGContextStrokePath(UIGraphicsGetCurrentContext());
coverIVFragments.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();