swift 设置图片动画组 iOS11之前 默认图片 设置不成功

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

猜你喜欢

转载自www.cnblogs.com/qingzZ/p/9564276.html