Swift default picture settings were not successful before setting up picture animation group iOS11.

On iOS 11, 1. First execute the animation group to execute frame animation in the set picture, 2. Set the picture in the set frame animation, execute frame animation without any problem.

On iOS 10 and iOS 9, you must execute method 2 (first set the picture to set the frame animation, execute the frame animation), otherwise you can’t set the picture after the frame animation.

 

    
    /// imageViewTo achieve frame animation, the last picture transposition with the right number of open box picture has been received.///
    /// - Parameters:
    ///   - imageCount: Number of animations///   - imageName: Prefix names for animated images of multiple frames///   - iv: ImageView with frame animation required
    func ivShowAnimaton(imageCount:Int, imageName:String, iv:UIImageView){
        
        
        //The following settings are completed after the display picture must be before the animation picture, otherwise iOS 11 will not be set before
        iv.image =  UIImage(named: "xiangzi-attack_66")
        ///---1.Load images to array
        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、Adding arrays to UIImageView
        iv.animationImages = imgArray;
        ///---3、Set animation duration
        iv.animationDuration = Double(imgArray.count) * 0.1;
        ///---4、Duration of animations
        iv.animationRepeatCount = 1;
        ///---5、Open the animation
        iv.startAnimating();
        
        iv.contentMode = .scaleAspectFill
    }

 

Leave a Reply

Your email address will not be published. Required fields are marked *