Как показать 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
Теперь загрузите данные из 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];