1

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 に描画されます。

そのためのヒントを教えていただければ幸いです。ありがとうございました。

4

1 に答える 1