заполнить путь сплошным цветом достаточно просто:
CGPoint aPoint;
for (id pointValue in points)
{
aPoint = [pointValue CGPointValue];
CGContextAddLineToPoint(context, aPoint.x, aPoint.y);
}
[[UIColor redColor] setFill];
[[UIColor blackColor] setStroke];
CGContextDrawPath(context, kCGPathFillStroke);
Я хотел бы нарисовать градиент вместо сплошного красного цвета, но у меня возникли проблемы. Я пробовал код, указанный в вопросе / ответе: Градиенты в UIView и UILabels На iPhone
который:
CAGradientLayer *gradient = [CAGradientLayer layer];
[gradient setFrame:rect];
[gradient setColors:[NSArray arrayWithObjects:(id)[[UIColor blueColor] CGColor],
(id)[[UIColor whiteColor] CGColor], nil]];
[[self layer] setMasksToBounds:YES];
[[self layer] insertSublayer:gradient atIndex:0];
Тем не менее, это закрашивает весь вид, в котором это находится, с градиентом, закрывая мой первоначальный путь.