iOSでの開発は初めてです。
Core Graphics/UIKit で描画すると問題が発生します。Windowにペイントの形みたいな機能を実装したいです。
このソース: https://github.com/JagCesar/Simple-Paint-App-iOSを使用し、新しい機能を追加します。
touchesMoved のとき、touchesBegan の時点と現在のタッチ ポイントに基づいて形状を描画します。それはすべての形を描きます。
- (void)drawInRectModeAtPoint:(CGPoint)currentPoint
{
UIGraphicsBeginImageContext(self.imageViewDrawing.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.currentColor setFill];
[self.imageViewDrawing.image drawInRect:CGRectMake(0, 0, self.imageViewDrawing.frame.size.width, self.imageViewDrawing.frame.size.height)];
CGContextMoveToPoint(context, self.beginPoint.x, self.beginPoint.y);
CGContextAddLineToPoint(context, currentPoint.x, currentPoint.y);
CGContextAddLineToPoint(context, self.beginPoint.x * 2 - currentPoint.x, currentPoint.y);
CGContextAddLineToPoint(context, self.beginPoint.x, self.beginPoint.y);
CGContextFillPath(context);
self.currentImage = UIGraphicsGetImageFromCurrentImageContext();
self.imageViewDrawing.image = self.currentImage;
UIGraphicsEndImageContext();
}
つまり、1 つのシェイプのみを作成したいのですが、touchesBegan のときにアプリがポイントを記録し、touchesMoved のときにシェイプがタッチによってスケーリングされ、touchesEnd のときにシェイプが ImageContex に描画されます。
そのためのヒントを教えていただければ幸いです。ありがとうございました。