Вам нужно что-то более похожее на это:
- (void)drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextAddEllipseInRect(ctx, rect);
CGContextAddEllipseInRect(ctx,
CGRectMake(
rect.origin.x + 10,
rect.origin.y + 10,
rect.size.width - 20,
rect.size.height - 20));
CGContextSetFillColor(ctx, CGColorGetComponents([[UIColor blueColor] CGColor]));
CGContextEOFillPath(ctx);
}
Это добавит два эллипса к вашему текущему пути (один будет меньше другого, но центрирован вокруг той же точки).EOFillPath будет по существу «вычитать» внутренний эллипс из внешнего эллипса, когда он заполняет путь.
Чтобы создать «концентрические» круги, если это действительно то, что вы хотели, вы можете просто повторить это для большего - непрерывно меньшего - эллипса.