Ios 应用图像设置uibutton动画

Ios 应用图像设置uibutton动画,ios,swift,animation,Ios,Swift,Animation,我想通过依次更改按钮上的两个图像来应用动画效果。我已经应用了以下代码,但无法看到动画效果。 我已经正确地申请了 var image1:UIImage = UIImage(named: "img_mic_off")! var image2:UIImage = UIImage(named: "img_mic_on")! btnRecord.imageView?.animationImages = [image1,image1] btnRecord.imageView?

我想通过依次更改按钮上的两个图像来应用动画效果。我已经应用了以下代码,但无法看到动画效果。 我已经正确地申请了

    var image1:UIImage = UIImage(named: "img_mic_off")!
    var image2:UIImage = UIImage(named: "img_mic_on")!
    btnRecord.imageView?.animationImages = [image1,image1]
    btnRecord.imageView?.animationDuration = 1.0
    btnRecord.imageView!.startAnimating()

请帮助我解决这个问题,为什么它不与这个给定的代码工作。提前感谢。

动画属性只是在图像数组中循环,并以持续时间秒/numberOfImagesInArray的间隔对其进行更改

因此,要获得平滑的图像动画,您需要一组中间过渡图像


集合中的图像数越高,动画越平滑。

请查看我所做的工作。图像正在改变。所以我希望这是你真正需要的

var image1:UIImage = UIImage(named: "img_mic_off")!
var image2:UIImage = UIImage(named: "img_mic_on")!
btn.setImage(image1, forState: UIControlState.Normal)
btn.imageView!.animationImages = [image1, image2]
btn.imageView!.animationDuration = 1.0
btn.imageView!.startAnimating()

Swift 5


别忘了打开包装!您正在尝试从
image1
设置动画到
image1
?据我所知,您当前的代码没有任何问题,只是阵列仅在一个图像上旋转。将第三行更改为包含image2。是否可以在此添加完成处理程序?