iphone - 如何在某一点旋转 CALayer

标签 iphone core-animation

如何在一个选定的点旋转 CALayer。

最佳答案

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是围绕它旋转的点。你想要旋转。 centerrotationPoint 位于包含 View 的坐标空间中。

关于iphone - 如何在某一点旋转 CALayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3926923/

相关文章:

iphone - CAShapeLayer 路径在动画后消失 - 需要它留在同一个地方

macos - "Fold"使用 CoreAnimation 的 NSWindow

iphone - iOS 以编程方式获取物理屏幕尺寸?

iphone - 使用分配后如何初始化UIButton的类型?

objective-c - IOS复制 "drop pin"效果

ios - 将 UIView 动画化为没有指定持续时间的值

iOS - 如何制作动画轨迹触摸

iphone - 苹果错误 LLVM 3.1

ios - Apple 二进制文件被拒绝 (2.16)

ios - DACircularProgress Track Circle 大于 Progress Circle