UIAnimate只在按钮上发生一次

我的应用中有一个带有背景图像的按钮。 按下按钮时,我希望它旋转90度。 下面的代码是我的IBAction。 它第一次完美地工作,但每次按下按钮它都不会旋转。

@IBAction func addButton(_ sender: UIButton) { UIView.animate(withDuration: 0.05, animations: ({ sender.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi / 2)) })) } 

您始终将变换设置为90度。 如果要在每次点击按钮时再旋转90度,则需要更新现有变换。

 sender.transform = sender.transform.rotated(by: CGFloat(Double.pi / 2))