Я хочу нарисовать зеленый круг с белым прямоугольником (или несколькими прямоугольниками). Но я не могу понять, как использовать CGContext
методы. Вот мой код. Сначала я рисую круг и закрашиваю его, затем я хочу нарисовать что-то еще внутри своего круга. Но если я использую тот же CGContextRef
для рисования внутри примитивов, CGContextSetFillColor
изменит цвет моего круга.
- (void)drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextAddEllipseInRect(ctx, rect);
CGContextSetFillColor(ctx, CGColorGetComponents([self.color CGColor]));
CGContextFillPath(ctx);
switch (self.type)
{
case ETBRoundViewTypeBook:
{
CGRect bookRect = CGRectMake(CGRectGetMidX(rect) - 10, CGRectGetMidY(rect) - 12, 20, 24);
CGContextAddRect(ctx, bookRect);
CGContextSetFillColor(ctx, CGColorGetComponents([UIColor whiteColor].CGColor));
CGContextFillPath(ctx);
}
case ETBRoundViewTypeList:
{
break;
}
case ETBRoundViewTypeTick:
{
break;
}
default:
break;
}
}
EDIT: Проблема была решена заменой CGContextSetFillColor
на CGContextSetFillColorWithColor
.