how to rotate CALayer at one selected point.
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);
Where center
is the center of your layer, rotationAngle
is in radians (positive is counterclockwise), and rotationPoint
is the point about which you wish to rotate. center
and rotationPoint
are in the coordinate space of the containing view.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With