在iOS 11 上, 1.先执行动画组 在设置图片执行帧动画,2.先设置图片在设置帧动画,执行帧动画 没有任何问题
在iOS 10和iOS9上,必须 执行 方法二(先设置图片在设置帧动画,执行帧动画 ),不然执行完帧动画, 图片设置不上
/// imageView实现帧动画, 最后图片换位 带对号已领取的开箱图片
///
/// - Parameters:
/// - imageCount: 动画数量
/// - imageName: 多个帧动画图片的前缀名称
/// - iv: 需要添加帧动画的 imageView
func ivShowAnimaton(imageCount:Int, imageName:String, iv:UIImageView){
//下面这个 设置 完成呢过后的显示图片 必须在 动画图片之前, 不然iOS11之前会设置不上
iv.image = UIImage(named: "xiangzi-attack_66")
///---1.加载图片到数组中
var imgArray = [UIImage]();
for i in 0..<imageCount{
if let path = Bundle.main.path(forResource: "\(imageName + String(i))", ofType: "png") , let image = UIImage(contentsOfFile: path) {
imgArray.append(image)
}
}
///---2、将数组添加到UIImageView中
iv.animationImages = imgArray;
///---3、设置动画持续时间
iv.animationDuration = Double(imgArray.count) * 0.1;
///---4、设置动画的持续次数
iv.animationRepeatCount = 1;
///---5、开启动画
iv.startAnimating();
iv.contentMode = .scaleAspectFill
}
浙公网安备 33010602011771号