在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 }