CGAffineTransformRotate图像问题

时间:2016-08-29 15:42:03

标签: ios swift animation rotation cgaffinetransform

我试图创建一个非常简单的时钟。当我应用CGAffineTransformRotate时,它看起来很棒,但是在30-31秒,手就会发疯。

An example of it going wrong.

以下是我用来制作动画的代码:

    lengthInSeconds += 1
    let angle = CGFloat(6.degreesToRadians * Double(lengthInSeconds))
    var transform = CGAffineTransformMakeTranslation(0.0, (clockFace.frame.width/4))

    secondsHand.layer.anchorPoint = CGPointMake(0.5, 1.0)
    transform = CGAffineTransformRotate(transform, angle)

    let spring = CASpringAnimation(keyPath: "transform.rotation")
    spring.damping = 2.0//3.0
    spring.duration = 0.4
    spring.mass = 0.1
    spring.initialVelocity = 0.0

    secondsHand.layer.addAnimation(spring, forKey: "rotation")
    secondsHand.transform = transform

任何人都知道为什么它会像这样笨拙地旋转?只是添加,它发生在所有传球,所以在30秒,1分30,2分30等。

0 个答案:

没有答案