Ios 如何在Swift中旋转UIButton?

Ios 如何在Swift中旋转UIButton?,ios,swift,uibutton,rotation,Ios,Swift,Uibutton,Rotation,我曾经这样旋转图像: self.image.transform = CGAffineTransformRotate(self.image.transform, CGFloat(M_PI)) let duration = 1.0 rotateAnimation.duration = duration 但此代码不适用于按钮: let rotateAnimation = CABasicAnimation(keyPath:

我曾经这样旋转图像:

self.image.transform = CGAffineTransformRotate(self.image.transform, 
                                      CGFloat(M_PI))
let duration = 1.0
rotateAnimation.duration = duration
但此代码不适用于按钮:

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

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

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

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

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

您已经创建了一个
CABasicAnimation
。您现在应该将其添加到
CALayer
。 尝试使用以下代码:

button.layer.addAnimation(rotateAnimation, forKey: "myAnimationKey");
按以下方式设置持续时间:

self.image.transform = CGAffineTransformRotate(self.image.transform, 
                                      CGFloat(M_PI))
let duration = 1.0
rotateAnimation.duration = duration

ui按钮
具有图层属性。

我感谢您的解释。非常感谢。