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

时间:2011-04-27 16:50:58

标签: 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);

}

我知道这可能是一个很漂亮的noob-ish问题:) 此外,如果有人可以指向教程的方向或之后解释如何保存我的图像的东西,这将是非常有用的...

1 个答案:

答案 0 :(得分:3)

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

要保存为图像,您需要绘制到位图上下文,请查看Apple的Quartz 2D编程指南,了解如何执行此操作。