我希望通过在按钮上依次改变两个图像来应用动画效果。我已应用以下代码但无法看到动画效果。 我已正确应用IBOutlets。
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()
请帮我解决为什么它不能使用这个给定代码的问题。提前谢谢。
答案 0 :(得分:6)
看看我做了什么。图像正在发生变化。所以我希望这是你真正需要的。
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()
答案 1 :(得分:1)
动画属性只是在图像数组中循环,并以durationInSeconds / numberOfImagesInArray的间隔更改它们。
因此,要获得平滑的图像动画,您需要拥有一组中间过渡图像。
设置的图像数量越多,动画越平滑。
答案 2 :(得分:0)
快捷键5
别忘了拆包! ?
if let image1 = UIImage(named: "img_mic_off"), let image2 = UIImage(named: "img_mic_on") {
btn.setImage(image1, for: UIControl.State.normal)
btn.imageView?.animationImages = [image1, image2]
btn.imageView?.animationDuration = 1.0
btn.imageView?.startAnimating()
}