如何旋转CAShapeLayer及其模式?

时间:2013-12-31 11:41:27

标签: ios objective-c transform calayer

我有一个CAShapeLayer,我可以使用UIRotationGestureRecognizer旋转它。但是在旋转时,它只旋转其框架而不是旋转其内部的填充图案。

        CAShapeLayer *shapeLayer = [finalShapeLayersArray objectAtIndex:indextobeRotated];
        CGPathRef path = createPathRotatedAroundBoundingBoxCenter(shapeLayer.path,recognizer.rotation);
        shapeLayer.path  = path;
        CGPathRelease(path);
        recognizer.rotation = 0;

这样做,它只旋转CAShapeLayer的边界。我用图像填充了一个图案。我只是希望该模式也应该旋转。

1 个答案:

答案 0 :(得分:1)

您需要使用CALayer's transform property在图层上设置旋转变换(不要旋转形状路径,因为整个图层都会旋转)。

有关如何创建此类转换的信息,请参阅this answer。另请参阅Core Animation Function Reference了解可以创建/修改转换的所有函数。