как показать 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 из библиотеки фотографий в каталог документов как (независимо от имени.gif) и использовать вышеуказанную категорию для отображения gif.

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

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

Спасибо


person maddy    schedule 16.07.2015    source источник


Ответы (1)


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

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

Скачать класс GIF imageLoad with 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];
person Kirit Modi    schedule 16.07.2015
comment
Большое спасибо за ваш ответ (уже делаю это), но я хочу использовать библиотеку pho (ALAsset) для получения gifData и использовать категорию YGF для отображения данных. Пожалуйста, прочитайте мой вопрос еще раз. - person maddy; 16.07.2015
comment
Хм, я понимаю получение GIF из библиотеки - person Kirit Modi; 16.07.2015
comment
stackoverflow.com/questions/5187251/ - person Kirit Modi; 16.07.2015
comment
Попробуйте выше, чтобы получить изображение GIF из библиотеки, - person Kirit Modi; 16.07.2015
comment
ALAssetRepresentation *representation = [представление актива по умолчанию]; NSLog(@%@,[URL-адрес представления]); - person Kirit Modi; 16.07.2015