如何在uiimageview上显示ios照片库gif

时间:2015-07-16 04:39:08

标签: ios uiimageview gif alasset alassetlibrary

我已经实现了图像选择器控制器委托:

- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info valueForKey:UIImagePickerControllerMediaType];
if ([mediaType isEqualToString:@"public.image"]) {
    UIImage *anImage = [info objectForKey:UIImagePickerControllerOriginalImage];
//i know i can get image name from info key.
    if(self.block) self.block(YES, anImage, nil);
}
[picker dismissViewControllerAnimated:YES completion:nil];
}

我正在使用UIImageView + PlayGIF类别从主资源包成功显示gif图像(我的应用中的加载器)。有些事情如下:

NSData *gifData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"loading_image.gif" ofType:nil]];
CGRect bnd = view.bounds;
loader.gifView = [[YFGIFImageView alloc] initWithFrame:CGRectMake(bnd.size.width/2-60, bnd.size.height/2-70, 120, 120)];
loader.gifView.backgroundColor = [UIColor clearColor];
loader.gifView.gifData = gifData;

问题: 那么如何将照片库gif导出到文档目录为(whatevername.gif),并使用上面的类别来显示gif。

或者我可以从photolibrary直接获取nsdata并使用上面的类别来显示gif。(我更喜欢这个)。

我没有尝试使用UIWebView,我可以在UIWebView上显示gif。

谢谢

1 个答案:

答案 0 :(得分:1)

设置imageView的属性。

@property (strong, nonatomic) IBOutlet UIImageView *YFGIFImageView; 

使用UIImageView

下载GIF imageLoad类

GIFImageLoad

现在从NSBundle加载数据。

    NSURL *url = [[NSBundle mainBundle] URLForResource:@"loading_image" withExtension:@"gif"];

使用animatedImageWithAnimatedGIFData加载图片,如下所示。

    self.YFGIFImageView.image = [UIImage animatedImageWithAnimatedGIFData:[NSData dataWithContentsOfURL:url]];

使用网址animatedImageWithAnimatedGIFURL加载图片,如下所示。

    self.YFGIFImageView.image = [UIImage animatedImageWithAnimatedGIFURL:url];

使用GIFURL animatedImageWithAnimatedGIFURL加载图片,如下所示。

    self.YFGIFImageView.image = [UIImage animatedImageWithAnimatedGIFURL:url];