CGMutablePath
이 들어있는 CAShapeLayer
이 있는데 그 주위에 획이 그려져 있습니다. 내 애플 리케이션에서, 나는이 CAShapeLayer
특정 시간에 크기를 증가/감소 변환합니다. 나는 CAShapeLayer
을 변형 할 때 알아 차리고, stroke
도 변형됩니다. 이상적으로 CAShapeLayers
이 변형 된 경우에도 stroke
의 lineWidth
을 항상 3으로 유지하고 싶습니다.스트로크 된 CAShapeLayer 변환
나는 그때 이후를 재 부가 변형하기 전에 스트로크를 차단 시도했지만 작동하지 않았다 :
이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;
사람이 내가이 작업을 수행 할 수있을 것 알고 있나요? 마치 변형 된 후에 획을 다시 그릴 수 있어야하는 것처럼 보입니다.
응답 해 주셔서 감사합니다. CAShapeLayer가 변형 될 때마다 경로를 바꾸는 경우 CAShapeLayer를 사용하면 얻을 수있는 이점 중 일부를 제거하지 않습니까? drawRect의 컨텍스트에 그리는 것과 똑같지 않습니까? –
죄송합니다. 현재는 더 좋은 해결책이 없습니다. 다른 어떤 방법으로도 그 효과를 얻을 수는 없을 것입니다. – Till