CATransform3D transform = CATransform3DIdentity;
transform = CATransform3DTranslate(transform, rotationPoint.x-center.x, rotationPoint.y-center.y, 0.0);
transform = CATransform3DRotate(transform, rotationAngle, 0.0, 0.0, -1.0);
transform = CATransform3DTranslate(transform, center.x-rotationPoint.x, center.y-rotationPoint.y, 0.0);
Где center
- центр вашего слоя, rotationAngle
- в радианах (положительное - против часовой стрелки), а rotationPoint
- точка, вокруг которой вы хотите повернуть. center
и rotationPoint
находятся в координатном пространстве содержащего представления.