我的方法比较简单,直接使用AF下载图片到本地,然后在imageView中通过调用SDWebImage来播放Gif图片。
//部分关键代码如下:
#import "UIImage+GIF.h"
@property (nonatomic, strong) AFHTTPRequestOperationManager *afManager;
- (void)viewDidLoad:(BOOL)animation{
[superviewDidLoad:animation];
//...
//...
if ([imageUrlStr containsString:@".gif"]) {
[self downLoadGifImage:imageUrlStr AndImageView:tImageView];
}else{
[tImageView sd_setImageWithURL:[NSURL URLWithString:imageUrlStr]];
}
}
- (void)downLoadGifImage:(NSString *)urlImageStr AndImageView:(UIImageView *)imageView{
if (!self.afManager) {
self.afManager = [AFHTTPRequestOperationManager manager];
self.afManager.responseSerializer = [AFHTTPResponseSerializer serializer];
}
[self.afManager GET:urlImageStr parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
[imageView setImage:[UIImage sd_animatedGIFWithData:responseObject]];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"这么烂的网络还想看git,洗洗睡吧");
}];
}