我在-drawRect
视图中有这个方法:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 1.0);
for (int i=0; i<[points count]; i++) {
GraphPoint* point = [points objectAtIndex:i];
[point.color setFill];
[[UIColor blackColor] setStroke];
CGContextBeginPath(context);
CGContextAddArc(context, point.x+point.size/2, point.y+point.size/2, point.size, 0, 2*M_PI, 0);
CGContextFillPath(context);
CGContextStrokePath(context);
UIGraphicsPopContext();
}
当[points count]
等于 1 时,一切正常,但是,当它增加时,会抛出此错误:
Error>: CGContextSetStrokeColorWithColor: invalid context 0x0.
我认为循环有问题 - 它设置了上下文的颜色两次甚至更多次。不知道如何避免。每个点都必须有自己的颜色,我不能在循环之前设置上下文的填充颜色。
请帮忙!也许有人曾经遇到过这个问题?