Как показать gif из библиотеки фотографий ios на uiimageview

Я реализовал делегат контроллера выбора изображения:

- (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.

Или я могу получить прямые nsdata из фотолаборатории и использовать выше категории, чтобы показать GIF (я предпочитаю это).

Я не пробовал с UIWebView, могу ли я показать gif на UIWebView.

Спасибо

1 ответ

Установить свойство imageView.

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

Скачать класс GIF imageLoad с UIImageView

GIFImageLoad

Теперь загрузите данные из NSBundle,

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

Загрузить изображение с animatedImageWithAnimatedGIFData как ниже.

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

ИЛИ ЖЕ

Загрузить изображение с URL animatedImageWithAnimatedGIFURL как ниже.

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

ИЛИ ЖЕ

Загрузите изображение с GIFURL animatedImageWithAnimatedGIFURL как ниже.

    self.YFGIFImageView.image = [UIImage animatedImageWithAnimatedGIFURL:url];
Другие вопросы по тегам