2015-11-24 85 views
0
UIImage *image    = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:_actualImageURL.absoluteString]; 
    if(!image) { 
     image = [UIImage imageNamed:@"placeholderImage"]; 
     [self makeImageAvailableAtURL:_actualImageURL]; 
    } 

    self.messageImage.image  = [image isImageGif] ? image.images.lastObject : image; 

我們正在從服務器中加載圖片。如果它是一些gif圖片,我們得到的圖像.images(我沒有別的辦法如何理解是否gif或不)。Gif加載和存儲

- (BOOL)isImageGif { 
    return self.images; 
} 

但是,如果我們存儲gif圖片與

[[SDImageCache sharedImageCache] storeImage:image forKey:wImageURL.absoluteString]; 

,它失去.images

任何想法如何處理?

+0

http://stackoverflow.com/questions/4147311/發現圖像類型從nsdata或uiimage 請檢查此鏈接 –

+0

嗯,我檢查了它。你想我存儲NSData而不是UIImage?瞭解gif與不在哪裏,我已經有(但很髒)。 – Aleksandr

+0

NSData * imageData = UIImagePNGRepresentation(myImage.image); 你必須將其轉換爲nsdata。 P.S 您也可以從文件創建nsdat提供一個url。 https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/#//apple_ref/occ/clm/NSData/data –

回答

0

那麼,解決方案是使用:

[[SDImageCache sharedImageCache] storeImage:image recalculateFromImage:NO imageData:data forKey:key toDisk:YES]; 

而不只是:

[[SDImageCache sharedImageCache] storeImage:image forKey:key]; 

我發現它有: https://github.com/rs/SDWebImage/issues/916