所以我在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问题:) 此外,如果有人可以指向教程的方向或之后解释如何保存我的图像的东西,这将是非常有用的...
答案 0 :(得分:3)
您需要跟踪所有点按位置的历史记录,并在drawRect方法的每个位置绘制一个圆圈。
要保存为图像,您需要绘制到位图上下文,请查看Apple的Quartz 2D编程指南,了解如何执行此操作。