我正在尝试制作一个简单的绘图应用程序来学习。到目前为止我得到了这个:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0);
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
CGFloat components[] = {0.0, 0.0, 0.0, 1.0};
CGColorRef color = CGColorCreate(colorspace, components);
CGContextSetStrokeColorWithColor(context, color);
CGPoint firstPoint = [[self.array objectAtIndex: 0] CGPointValue];
CGContextMoveToPoint(context, firstPoint.x, firstPoint.y);
for (int i = 0; i < [self.array count]; i++) {
CGPoint nextPoint = [[self.array objectAtIndex:i] CGPointValue];
CGContextAddLineToPoint(context, nextPoint.x, nextPoint.y);
}
CGContextStrokePath(context);
CGColorSpaceRelease(colorspace);
CGColorRelease(color);
}
到目前为止,一切都有效,它会在您触摸的位置绘制并在数组中添加坐标。如果您停止触摸并触摸另一个点,它会连接您之前绘制的路径。我实际上不想要的。所以我想在触摸结束后创建一个新阵列。我完全错了还是正确的做事方向?有时候我错过了编程的逻辑,但是嘿,我还在学习!
提前致谢!
答案 0 :(得分:0)
如果要收集在数组中绘制内容的触摸,并且还希望能够绘制单独的曲线,则应在每个touchesBegan
处创建一个新数组。你也可以在touchesEnd中做到这一点,它没有太大的不同。如果你真的需要将触摸坐标存储在一个数组中,我不确定,这取决于你的整体功能......