饼图示例:
int sum = 0;
CGFloat offset;
CGFloat angleArray[numberOfSections+1];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetAllowsAntialiasing(context, true);
CGContextSetShouldAntialias(context, true);
for(int i=0; i<numberOfSections; i++) {
sum += angle;
}
for(int i=0; i<numberOfSections; i++) {
angleArray[i] = (float)((angle)/(float)sum)*(2*M_PI);
CGContextMoveToPoint(context, radius, radius);
if(i == 0) {
CGContextAddArc(context, radius, radius, radius, 0, angleArray[i], 0);
} else {
CGContextAddArc(context, radius, radius, radius, offset, (offset+angleArray[i]), 0);
}
offset += angleArray[i];
CGContextSetFillColorWithColor(context, ((UIColor *)[hjulColorArray objectAtIndex:i]).CGColor);
CGContextClosePath(context);
CGContextFillPath(context);
}