From 823efff1eb1a345901646ef39e081be78715af7e Mon Sep 17 00:00:00 2001 From: Jordan Morgan Date: Wed, 2 Dec 2015 13:33:48 -0600 Subject: [PATCH] Get image from asset --- .../BFRImageContainerViewController.m | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/BFRImageViewController/BFRImageContainerViewController.m b/BFRImageViewController/BFRImageContainerViewController.m index ad54899..fdfb3ee 100644 --- a/BFRImageViewController/BFRImageContainerViewController.m +++ b/BFRImageViewController/BFRImageContainerViewController.m @@ -8,6 +8,7 @@ #import "BFRImageContainerViewController.h" +#import #import #import "AFNetworking.h" @@ -41,9 +42,11 @@ - (void)viewDidLoad { self.progressView = [self createProgressView]; [self.view addSubview:self.progressView]; [self retrieveImageFromURL]; - } else { + } else if ([self.imgSrc isKindOfClass:[UIImage class]]) { self.imgLoaded = (UIImage *)self.imgSrc; [self addImageToScrollView]; + } else if ([self.imgSrc isKindOfClass:[PHAsset class]]){ + [self retrieveImageFromAsset]; } //Animator - used to snap the image back to the center when done dragging @@ -278,6 +281,18 @@ - (void)dismissUI { [[NSNotificationCenter defaultCenter] postNotificationName:@"DismissUI" object:nil]; } +- (void)retrieveImageFromAsset { + if (![self.imgSrc isKindOfClass:[PHAsset class]]) { + return; + } + + PHImageRequestOptions *reqOptions = [PHImageRequestOptions new]; + reqOptions.synchronous = YES; + [[PHImageManager defaultManager] requestImageDataForAsset:self.imgSrc options:reqOptions resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) { + self.imgLoaded = [UIImage imageWithData:imageData]; + [self addImageToScrollView]; + }]; +} - (void)retrieveImageFromURL { NSURLRequest *request = [[NSURLRequest alloc] initWithURL:(NSURL *)self.imgSrc cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:0];