我有一个包含
CGMutablePath
的CAShapeLayer
,周围绘制了一条描边线。在我的应用程序中,我会对这个CAShapeLayer
进行变换,以便在某些时候增加/减少其大小。我注意到当我变换CAShapeLayer
时,stroke
也会被变换。理想情况下,即使在CAShapeLayers
变换时,我也希望保持stroke
的lineWidth
始终为3。
我尝试在变换之前关闭描边线,然后再重新添加,但这并没有起作用:
subLayerShapeLayer.lineWidth = 0;
subLayerShapeLayer.strokeColor = nil;
self.layer.sublayerTransform = CATransform3DScale(self.layer.sublayerTransform, graphicSize.width / self.graphic.size.width, graphicSize.height / self.graphic.size.height, 1);
shapeLayer.strokeColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:1].CGColor;;
shapeLayer.lineWidth = 3;
有没有人知道我怎么能完成这个任务?似乎应该可以在变换后重新绘制笔画。