如何在Swift中旋转UIButton?

时间:2015-01-26 16:54:06

标签: ios swift uibutton rotation

我以这种方式旋转图像:

self.image.transform = CGAffineTransformRotate(self.image.transform, 
                                      CGFloat(M_PI))

但是这段代码对按钮不起作用:

let rotateAnimation = CABasicAnimation(keyPath: "transform.rotation")
rotateAnimation.fromValue = 0.0
rotateAnimation.toValue = CGFloat(M_PI)

但我不知道如何将旋转指定给按钮。我该怎么办?

2 个答案:

答案 0 :(得分:4)

您已创建CABasicAnimation。您现在应该将其添加到CALayer。 尝试使用此代码:

button.layer.addAnimation(rotateAnimation, forKey: "myAnimationKey");

以这种方式设置持续时间:

let duration = 1.0
rotateAnimation.duration = duration

UIButton有一个图层属性。

答案 1 :(得分:1)

只需将动画添加到按钮图层即可。

//If you want a duration
rotateAnimation.duration = yourDuration

//You can set a key, but must not.
button.layer.addAnimation(rotateAnimation, forKey: nil)