2016-03-18 33 views
0

Bir Gif UIImage oluşturmak için this guy adlı kullanıcının Gif sınıfını kullanıyorum. Bununla https://github.com/mayoff/uiimage-from-animated-gifUIImage Gif yükleme temsilcisi mi?

Yük it:

let fileUrl = NSURL(string: "some url" as! String) 
let Gif = UIImage.animatedImageWithAnimatedGIFURL(fileUrl!) 
imageview.image=Gif 

şey görüntüyü görene kadar o 7 saniye gibi, çok zaman zaman almasıdır.

Yüklemeyi bitirirken bir şekilde ön yükleme yapmak veya en azından bir temsilci almak istiyorum.

Seçeneklerim burada nelerdir?

cevap

1

Bu görevi arka planda gerçekleştirmek için Grand Central Dispatch (veya GCD) kullanabilirsiniz.

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { 
    // This will happen in the background 
    let fileUrl = NSURL(string: "some url" as! String) 
    let gif = UIImage.animatedImageWithAnimatedGIFURL(fileUrl!) 

    dispatch_async(dispatch_get_main_queue()) { 
     // Always update UI on the main thread 
     imageview.image = gif 
    } 
} 

Bu hala gif yüklemek için gereken ancak uzun sürer ancak kullanıcı gif yüklenirken şeyler yapabilirsiniz böylece UI kilitlemek olmayacaktır.