为什么CGAffineTransformMakeRotation在Swift中不起作用?

时间:2015-02-28 15:33:35

标签: ios swift

我发现当我使用CGAffineTransformMakeRotation来旋转线条时,线条不会改变。

这是我的代码:

func drawLine(drawObj:DrawObj) {
        var context = UIGraphicsGetCurrentContext();
        CGContextSaveGState(context);

        CGContextSetStrokeColorWithColor(context, drawObj.drawPara.lineColor.CGColor)
        CGContextSetFillColorWithColor(context, drawObj.drawPara.fillColor.CGColor)
        let originX = drawObj.left - drawObj.currentWidth/2
        let originY = drawObj.top - drawObj.currentHeight/2
        CGContextMoveToPoint(context, originX, originY);
        let toX = originX + drawObj.currentWidth
        let toY = originY + drawObj.currentHeight
        CGContextAddLineToPoint(context, toX, toY);

        CGContextStrokePath(context);
        let roation = CGAffineTransformMakeRotation(CGFloat(Double(drawObj.angle)*M_PI/(180)))
        CGContextConcatCTM(context, roation)
        CGContextRestoreGState(context);
}

1 个答案:

答案 0 :(得分:1)

因为在绘制线后旋转了上下文。如果要将旋转应用于线,请先旋转上下文。绘制线后,就会绘制它。