2014-01-08 6 views
3

뇌졸중 색을 빨간색으로 설정하여 소수점이있는 CAShapeLayer을 만들었습니다. 다음 나는 UIImage의 본으로 색깔을 채웠다. UIRotationGestureRecognizer을 사용하여 채워진 패턴과 함께 CAShapeLayer을 회전시키고 싶습니다.CAShapeLayer의 중심점을 회전하는 방법

CATransform3DRotate를 사용했지만 제대로 작동하지 않습니다. 사전에

CATransform3D transform = CATransform3DIdentity; 
transform = CATransform3DRotate(transform, recognizer.rotation, 0.0, 0.0, 1.0); 
shapeLayer.transform = transform; 

감사

+0

내가이 사용했던 대답은 [여기] (http://stackoverflow.com/a/8232192/1161906) – bcattle

답변

6

통화 할 수 있습니다 :

shapeLayer.anchorPoint = (CGPoint){0.5, 0.5}; 

을 당신은 또한 같은, 당신이 전에 수행 한 모든 변환을 멀리 던지는, 변환 ID로 시작하고 레이어를 배치합니다. 당신이하고 싶은 것입니다 :

shapeLayer.transform = CATransform3DRotate(shapeLayer.transform, recognizer.rotation, 0.0, 0.0, 1.0); 
+0

를 참조하십시오. 하지만 전체 CAShapeLayer는 백그라운드에서 UIImageView의 중심을 중심으로 회전합니다. 그 경우에 @HiteshBhardwaj –

+7

나는 모양 레이어가 그것의 경계를 가지고 있지 않다는 것을 짐작하고있다. –

관련 문제