したがって、軸に沿って一連の点線を描画する必要があります。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);
必要な線だけが点線になるようにどうすれば痛くなりますか?