This commit is contained in:
GitHub Merge Button 2011-06-09 10:51:53 -07:00
commit 630d2206c7
5 changed files with 22 additions and 8 deletions

View file

@ -21,11 +21,13 @@
IBOutlet UIImageView *previewImageView; IBOutlet UIImageView *previewImageView;
NSInteger imageNumber; NSInteger imageNumber;
UIStatusBarStyle originalStatusBarStyle; UIStatusBarStyle originalStatusBarStyle;
UIImage * largeImage;
} }
@property (nonatomic, retain) IBOutlet UIImageView *previewImageView; @property (nonatomic, retain) IBOutlet UIImageView *previewImageView;
@property (nonatomic, retain, readonly) JPImagePickerOverviewController *overviewController; @property (nonatomic, retain, readonly) JPImagePickerOverviewController *overviewController;
@property (nonatomic) NSInteger imageNumber; @property (nonatomic) NSInteger imageNumber;
@property (nonatomic, retain) UIImage * largeImage;
- (id)initWithOverviewController:(JPImagePickerOverviewController *)newOverviewController; - (id)initWithOverviewController:(JPImagePickerOverviewController *)newOverviewController;
- (void)prepareForImageNumber:(NSInteger)newImageNumber; - (void)prepareForImageNumber:(NSInteger)newImageNumber;

View file

@ -13,6 +13,7 @@
@implementation JPImagePickerDetailController @implementation JPImagePickerDetailController
@synthesize previewImageView, overviewController, imageNumber; @synthesize previewImageView, overviewController, imageNumber;
@synthesize largeImage;
- (id)initWithOverviewController:(JPImagePickerOverviewController *)newOverviewController { - (id)initWithOverviewController:(JPImagePickerOverviewController *)newOverviewController {
if (self = [super initWithNibName:@"JPImagePickerDetailController" bundle:nil]) { if (self = [super initWithNibName:@"JPImagePickerDetailController" bundle:nil]) {
@ -64,12 +65,13 @@
- (void)prepareForImageNumber:(NSInteger)newImageNumber { - (void)prepareForImageNumber:(NSInteger)newImageNumber {
imageNumber = newImageNumber; imageNumber = newImageNumber;
previewImageView.image = [[overviewController.imagePickerController.dataSource previewImageView.image = [[overviewController.imagePickerController.dataSource
imagePicker:overviewController.imagePickerController imagePicker:overviewController.imagePickerController
imageForImageNumber:imageNumber] imageForImageNumber:imageNumber]
scaleToSize:CGSizeMake(kJPImagePickerControllerPreviewImageSizeHeight, kJPImagePickerControllerPreviewImageSizeHeight) scaleToSize:CGSizeMake(kJPImagePickerControllerPreviewImageSizeHeight, kJPImagePickerControllerPreviewImageSizeHeight)
onlyIfNeeded:YES]; onlyIfNeeded:YES];
largeImage = previewImageView.image;
} }
- (IBAction)cancelPreview:(id)sender { - (IBAction)cancelPreview:(id)sender {

View file

@ -34,11 +34,10 @@
[self setImagePickerTitle:imagePickerController.imagePickerTitle]; [self setImagePickerTitle:imagePickerController.imagePickerTitle];
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
target:self target:self
action:@selector(cancelPicking:)]; action:@selector(cancelPicking:)];
self.navigationItem.rightBarButtonItem = cancelButton; self.navigationItem.rightBarButtonItem = cancelButton;
[cancelButton release]; [cancelButton release];
UIButton *button; UIButton *button;
UIImage *thumbnail; UIImage *thumbnail;
@ -71,7 +70,7 @@
scrollView.contentSize = CGSizeMake(self.view.frame.size.width, height); scrollView.contentSize = CGSizeMake(self.view.frame.size.width, height);
scrollView.clipsToBounds = YES; scrollView.clipsToBounds = YES;
} }
- (void)setImagePickerTitle:(NSString *)newTitle { - (void)setImagePickerTitle:(NSString *)newTitle {
@ -97,10 +96,15 @@
- (void)buttonTouched:(UIButton *)sender { - (void)buttonTouched:(UIButton *)sender {
[self performSelector:@selector(pushDetailViewWithSender:) withObject:sender afterDelay:0];
}
- (void)pushDetailViewWithSender:(UIButton *)sender {
if (detailController == nil) { if (detailController == nil) {
detailController = [[JPImagePickerDetailController alloc] initWithOverviewController:self]; detailController = [[JPImagePickerDetailController alloc] initWithOverviewController:self];
} }
[detailController prepareForImageNumber:(NSInteger)sender.tag];
detailController.imageNumber = sender.tag;
[imagePickerController.modalNavigationController pushViewController:detailController animated:YES]; [imagePickerController.modalNavigationController pushViewController:detailController animated:YES];
} }

View file

@ -26,6 +26,9 @@
// self.navigationItem.rightBarButtonItem = self.editButtonItem; // self.navigationItem.rightBarButtonItem = self.editButtonItem;
chosenImage = -1; chosenImage = -1;
self.navigationItem.title = @"ImagePicker Demo"; self.navigationItem.title = @"ImagePicker Demo";
self.navigationController.navigationBar.translucent = YES;
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
} }

View file

@ -204,6 +204,7 @@
isa = PBXProject; isa = PBXProject;
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "JPImagePickerDemo" */; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "JPImagePickerDemo" */;
compatibilityVersion = "Xcode 3.1"; compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1; hasScannedForEncodings = 1;
knownRegions = ( knownRegions = (
English, English,
@ -273,6 +274,7 @@
GCC_PREFIX_HEADER = JPImagePickerDemo_Prefix.pch; GCC_PREFIX_HEADER = JPImagePickerDemo_Prefix.pch;
INFOPLIST_FILE = "JPImagePickerDemo-Info.plist"; INFOPLIST_FILE = "JPImagePickerDemo-Info.plist";
PRODUCT_NAME = JPImagePickerDemo; PRODUCT_NAME = JPImagePickerDemo;
SDKROOT = iphoneos;
}; };
name = Debug; name = Debug;
}; };
@ -285,6 +287,7 @@
GCC_PREFIX_HEADER = JPImagePickerDemo_Prefix.pch; GCC_PREFIX_HEADER = JPImagePickerDemo_Prefix.pch;
INFOPLIST_FILE = "JPImagePickerDemo-Info.plist"; INFOPLIST_FILE = "JPImagePickerDemo-Info.plist";
PRODUCT_NAME = JPImagePickerDemo; PRODUCT_NAME = JPImagePickerDemo;
SDKROOT = iphoneos;
}; };
name = Release; name = Release;
}; };