Вы должны сделать это так:
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1.0);
// Draw them with a 2.0 stroke width so they are a bit more visible.
CGContextSetLineWidth(context, 2.0);
for(int idx = 0; idx < self.points.count; idx++)
{
point = [self.points objectAtIndex:idx];//Edited
if(idx == 0)
{
// move to the first point
CGContextMoveToPoint(context, point.x, point.y);
}
else
{
CGContextAddLineToPoint(context, point.x, point.y);
}
}
CGContextStrokePath(context);
}
Обратите внимание, что точки - это массив точек, для которых вы хотите нарисовать многоугольник. Таким образом, это должен быть круговой путь, например: вы рисуете треугольник из точек (x1, x2, x3)
, затем вы должны перейти в массив (x1, x2, x3, x1)
.
Надеюсь, это поможет.