【发布时间】:2012-12-03 14:26:52
【问题描述】:
所以,我需要沿轴绘制一系列虚线。 在 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);
我怎么能让只有我需要的线被宠坏?
【问题讨论】:
标签: iphone ios ios5 core-graphics dotted-line