Вот решение (ну, вроде):
#define radians(degrees) ((degrees) / 180 * M_PI)
void drawWedge(CGContextRef context, CGFloat x, CGFloat y, int deg1, int deg2, CGFloat radius)
{
CGContextMoveToPoint(context, x, y);
CGContextAddArc(context, x, y, radius, radians((double) deg1), radians((double) deg2), YES);
CGContextAddLineToPoint(context, x, y);
CGContextStrokePath(context); // or CGContextFillPath()
}
Обратите внимание, что здесь есть несколько предостережений, вот круг с диапазоном 0-90 с радиусом 15 пикселей:
Как вы можете видеть, это немного похоже на PacMan, потому что углы противоположны тем, которые вы или я бы поняли.Но возитесь с этой функцией, и она должна хорошо работать для вас.