Итак, мне нужно нарисовать серию пунктирных линий вдоль оси. В методе drawRect я вызываю другой метод для рисования оси. В этом методе я сохраняю GState, рисую ось, а затем сохраняю gstate, снова рисую пунктирную линию, когда это необходимо, затем обводку пути восстанавливаю gstate, добавляю что-то к оси заполните путь .. Дело в том, что теперь все это пунктирно ... Кажется, код не отбрасывал шаблон пунктирной линии, когда я восстанавливал gstate ...
CGContextSaveGState(ctx);
CGContextSetFillColorWithColor(ctx, [[UIColor whiteColor] CGColor]);
.......
//draw a dased line
CGContextSaveGState(ctx);
CGContextSetLineWidth(ctx, 1.0);
CGContextSetStrokeColorWithColor(ctx, [UIColor whiteColor].CGColor);
CGFloat const kDashedLinesLength[] = {1.0f, 0.5f};
CGContextSetLineDash(ctx, 0.0, kDashedLinesLength, 2);
CGContextMoveToPoint(ctx, LEFT_EXCLUSION_LENGTH + AXIS_LINE_WIDTH, crtYval);
CGContextAddLineToPoint(ctx, LEFT_EXCLUSION_LENGTH + AXIS_LINE_WIDTH + self.xAxis.visibleLength , crtYval);
CGContextStrokePath(ctx);
CGContextRestoreGState(ctx);
...
CGContextFillPath(ctx);
CGContextRestoreGState(ctx);
Как сделать болячку, чтобы дорисовывалась только нужная мне строка???