iOS:绘图应用-绘制圆圈,但新圆圈取代旧的-保存状态



我在iOS上做这个绘画应用,我有一个问题。

现在我在用户点击的地方画一个圆圈…但问题来了。当用户再次点击时,第一个圆圈被移动到新的位置。我要做的是在那个位置画一个新的圆,而不是移动旧的圆。

我正在使用一些标准代码,这些代码在网络上的许多示例中使用…

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *theTouch = [touches anyObject];
startPoint = [theTouch locationInView:self];  
startPoint.x -= 20;
startPoint.y -= 20;
[self setNeedsDisplay];
}
- (void)drawRect:(CGRect)rect
{
// Drawing code
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);
CGRect rectangle = CGRectMake(startPoint.x,startPoint.y,25,25);
CGContextAddEllipseInRect(context, rectangle);
CGContextFillEllipseInRect(context, rectangle);
CGContextStrokePath(context);
}

我知道这可能是一个相当新手的问题:)此外,如果有人能指出一个方向的教程或解释如何保存我的图像之后,这将是非常有帮助的…

您需要跟踪所有点击位置的历史记录,并在您的drawRect方法中在每个位置画一个圆圈。

要将图像保存为需要绘制到位图上下文的图像,请查看Apple的Quartz 2D编程指南,以获取如何做的示例。

最新更新