2016-06-09 25 views
2

Ich benutze diese SwiftGif Bibliothek. Ich habe ein paar Gif in UIImageView geschrieben. Das ist mein Code:Slow GIF Animation mit SwiftGif

dispatch_async(dispatch_get_main_queue(),{ 
    self.img1.image=UIImage.gifWithURL("http://mywebsite/img1.gif") 
    self.img2.image=UIImage.gifWithURL("http://mywebsite/img2.gif") 
    self.img3.image=UIImage.gifWithURL("http://mywebsite/img1.gif") 
}) 

Die Gifs werden korrekt angezeigt, aber die Animation ist langsam. Wie kann ich das beheben? Vielen Dank!

+1

Haben Sie dieses Problem jemals gelöst? Das selbe Problem – riverhawk

+0

@riverhawk ja, jetzt benutze ich UIWebView anstelle von SwiftGif Bibliothek. –

Antwort

0
Ich nehme an, dass Ihre gif Dateigröße zu groß ist? oder die Zeit ist zu lang? weil SwiftGif auf UIAnimatedImage basiert.

Und auch steuern Sie Ihren gif Rahmen von 9, 10, 20, 30, 40 und Setup GCD bis 1.

3

Fügen Sie den folgenden Code in UIImage+Gif.swift wo die Berechnung der Dauer in in animatedImageWithSource Funktion erfolgt:

// Calculate full duration 
let duration: Int = { 
    var sum:Double = 0 

    for val: Int in delays { 
     let newVal = Double(val) - (Double(val)/1.5)//Modified calculation to speed up the animtion in gif 
     //sum += val :default calculation 
     sum += newVal 
    } 

    return Int(sum) 
    }() 
+0

Wow! Habe meinen Tag gerettet –