diff --git a/Classes/JPImagePickerDetailController.h b/Classes/JPImagePickerDetailController.h index b96fd67..42264b4 100644 --- a/Classes/JPImagePickerDetailController.h +++ b/Classes/JPImagePickerDetailController.h @@ -21,11 +21,13 @@ IBOutlet UIImageView *previewImageView; NSInteger imageNumber; UIStatusBarStyle originalStatusBarStyle; + UIImage * largeImage; } @property (nonatomic, retain) IBOutlet UIImageView *previewImageView; @property (nonatomic, retain, readonly) JPImagePickerOverviewController *overviewController; @property (nonatomic) NSInteger imageNumber; +@property (nonatomic, retain) UIImage * largeImage; - (id)initWithOverviewController:(JPImagePickerOverviewController *)newOverviewController; - (void)prepareForImageNumber:(NSInteger)newImageNumber; diff --git a/Classes/JPImagePickerDetailController.m b/Classes/JPImagePickerDetailController.m index a3dd004..2897ac1 100644 --- a/Classes/JPImagePickerDetailController.m +++ b/Classes/JPImagePickerDetailController.m @@ -13,6 +13,7 @@ @implementation JPImagePickerDetailController @synthesize previewImageView, overviewController, imageNumber; +@synthesize largeImage; - (id)initWithOverviewController:(JPImagePickerOverviewController *)newOverviewController { if (self = [super initWithNibName:@"JPImagePickerDetailController" bundle:nil]) { @@ -64,12 +65,16 @@ - (void)prepareForImageNumber:(NSInteger)newImageNumber { + if(imageNumber == newImageNumber){ + previewImageView.image = largeImage; + } imageNumber = newImageNumber; previewImageView.image = [[overviewController.imagePickerController.dataSource imagePicker:overviewController.imagePickerController imageForImageNumber:imageNumber] scaleToSize:CGSizeMake(kJPImagePickerControllerPreviewImageSizeHeight, kJPImagePickerControllerPreviewImageSizeHeight) onlyIfNeeded:YES]; + largeImage = previewImageView.image; } - (IBAction)cancelPreview:(id)sender { diff --git a/Classes/JPImagePickerOverviewController.m b/Classes/JPImagePickerOverviewController.m index c097eb7..3f6f27f 100644 --- a/Classes/JPImagePickerOverviewController.m +++ b/Classes/JPImagePickerOverviewController.m @@ -26,6 +26,10 @@ return self; } +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; +} + // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { @@ -34,11 +38,10 @@ [self setImagePickerTitle:imagePickerController.imagePickerTitle]; UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel - target:self - action:@selector(cancelPicking:)]; - self.navigationItem.rightBarButtonItem = cancelButton; - [cancelButton release]; - + target:self + action:@selector(cancelPicking:)]; + self.navigationItem.rightBarButtonItem = cancelButton; + [cancelButton release]; UIButton *button; UIImage *thumbnail; @@ -71,7 +74,7 @@ scrollView.contentSize = CGSizeMake(self.view.frame.size.width, height); scrollView.clipsToBounds = YES; - + } - (void)setImagePickerTitle:(NSString *)newTitle { @@ -97,10 +100,17 @@ - (void)buttonTouched:(UIButton *)sender { + //[self.activityIndicator startAnimating]; + [self performSelector:@selector(pushDetailViewWithSender:) withObject:sender afterDelay:0]; + +} + +- (void)pushDetailViewWithSender:(UIButton *)sender { if (detailController == nil) { detailController = [[JPImagePickerDetailController alloc] initWithOverviewController:self]; } - [detailController prepareForImageNumber:(NSInteger)sender.tag]; + + detailController.imageNumber = sender.tag; [imagePickerController.modalNavigationController pushViewController:detailController animated:YES]; } diff --git a/JPImagePickerDemo/JPImagePickerDemo.xcodeproj/project.pbxproj b/JPImagePickerDemo/JPImagePickerDemo.xcodeproj/project.pbxproj index 58b0d60..9e8db77 100755 --- a/JPImagePickerDemo/JPImagePickerDemo.xcodeproj/project.pbxproj +++ b/JPImagePickerDemo/JPImagePickerDemo.xcodeproj/project.pbxproj @@ -204,6 +204,7 @@ isa = PBXProject; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "JPImagePickerDemo" */; compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( English, @@ -273,6 +274,7 @@ GCC_PREFIX_HEADER = JPImagePickerDemo_Prefix.pch; INFOPLIST_FILE = "JPImagePickerDemo-Info.plist"; PRODUCT_NAME = JPImagePickerDemo; + SDKROOT = iphoneos; }; name = Debug; }; @@ -285,6 +287,7 @@ GCC_PREFIX_HEADER = JPImagePickerDemo_Prefix.pch; INFOPLIST_FILE = "JPImagePickerDemo-Info.plist"; PRODUCT_NAME = JPImagePickerDemo; + SDKROOT = iphoneos; }; name = Release; };