因此,我需要沿轴绘制一系列虚线。在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);
我怎么能痛到只有我需要的线被宠坏了???