05-15-2011, 02:40 AM
#1 (permalink )
Registered Member
Join Date: Oct 2009
Posts: 26
How to change multiple UIImageView from UIImagePickerController?
Hi all
I have 5 buttons and 5 UIImageViews. I would like to change each UIImageView from photo library. When I push #1 button and choose a photo from photo library, it changes #1 UIImageView. However, when I push #2 button to change #2 UIImageView, it changes #1 UIImageView....Anybody know how to fix this??
Code:
-(IBAction) getPhoto1:(id) sender1 {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
}
-(IBAction) getPhoto2:(id) sender2 {
UIImagePickerController *picker2 = [[UIImagePickerController alloc] init];
picker2.delegate = self;
picker2.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker2 animated:YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
if(getPhoto1){
//////create NSData
NSData *ImageData = UIImageJPEGRepresentation(img, 0.9);
[[NSUserDefaults standardUserDefaults] setObject:ImageData forKey:@"image"];
imageView1.image = img;
}
if(getPhoto2){
//////create NSData
NSData *ImageData2 = UIImageJPEGRepresentation(img, 0.9);
[[NSUserDefaults standardUserDefaults] setObject:ImageData2 forKey:@"image2"];
imageView2.image = img;
}
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
}
05-15-2011, 03:13 AM
#2 (permalink )
iOSDeveloperz
Join Date: Apr 2011
Location: INDIA
Posts: 99
Quote:
Originally Posted by
k2c
Hi all
I have 5 buttons and 5 UIImageViews. I would like to change each UIImageView from photo library. When I push #1 button and choose a photo from photo library, it changes #1 UIImageView. However, when I push #2 button to change #2 UIImageView, it changes #1 UIImageView....Anybody know how to fix this??
Code:
-(IBAction) getPhoto1:(id) sender1 {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
}
-(IBAction) getPhoto2:(id) sender2 {
UIImagePickerController *picker2 = [[UIImagePickerController alloc] init];
picker2.delegate = self;
picker2.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker2 animated:YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
if(getPhoto1){
//////create NSData
NSData *ImageData = UIImageJPEGRepresentation(img, 0.9);
[[NSUserDefaults standardUserDefaults] setObject:ImageData forKey:@"image"];
imageView1.image = img;
}
if(getPhoto2){
//////create NSData
NSData *ImageData2 = UIImageJPEGRepresentation(img, 0.9);
[[NSUserDefaults standardUserDefaults] setObject:ImageData2 forKey:@"image2"];
imageView2.image = img;
}
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
}
This can only be the case when both of your if conditions are executing, now i may not be able to tell you anything unless you tell me what are getPhoto1 and getPhoto2
05-15-2011, 03:24 AM
#3 (permalink )
Nuisance Developer
Join Date: Jul 2009
Location: Italy
Posts: 4,691
what about
Code:
int butSel = 0;
-(IBAction) getPhoto1:(id) sender1 {
butSel = 1;
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
}
-(IBAction) getPhoto2:(id) sender2 {
butSel = 2;
UIImagePickerController *picker2 = [[UIImagePickerController alloc] init];
picker2.delegate = self;
picker2.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker2 animated:YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
if(butSel==1){
//////create NSData
NSData *ImageData = UIImageJPEGRepresentation(img, 0.9);
[[NSUserDefaults standardUserDefaults] setObject:ImageData forKey:@"image"];
imageView1.image = img;
}
if(butSel == 2){
//////create NSData
NSData *ImageData2 = UIImageJPEGRepresentation(img, 0.9);
[[NSUserDefaults standardUserDefaults] setObject:ImageData2 forKey:@"image2"];
imageView2.image = img;
}
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
}
__________________
05-15-2011, 03:28 AM
#4 (permalink )
Registered Member
Join Date: Oct 2009
Posts: 26
Thank you for quick reply, iOSDeveloperz!
I have one long strip photo. I divided it to 5 UIImageViews, so getPhoto1 and getPhoto2 are photos from left to right and there are photo3, photo4, photo5.
-(IBAction) getPhoto1
id) sender1 is attached to Button1.
Are these your are asking?
05-15-2011, 03:35 AM
#5 (permalink )
Registered Member
Join Date: Oct 2009
Posts: 26
Great! dany_dev! You solved it! Thank you very much!!!
12-02-2011, 02:24 AM
#6 (permalink )
Registered Member
Join Date: Dec 2011
Posts: 1
Quote:
Originally Posted by
dany_dev
what about
Code:
int butSel = 0;
-(IBAction) getPhoto1:(id) sender1 {
butSel = 1;
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
}
-(IBAction) getPhoto2:(id) sender2 {
butSel = 2;
UIImagePickerController *picker2 = [[UIImagePickerController alloc] init];
picker2.delegate = self;
picker2.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker2 animated:YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
if(butSel==1){
//////create NSData
NSData *ImageData = UIImageJPEGRepresentation(img, 0.9);
[[NSUserDefaults standardUserDefaults] setObject:ImageData forKey:@"image"];
imageView1.image = img;
}
if(butSel == 2){
//////create NSData
NSData *ImageData2 = UIImageJPEGRepresentation(img, 0.9);
[[NSUserDefaults standardUserDefaults] setObject:ImageData2 forKey:@"image2"];
imageView2.image = img;
}
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
}
Thanks a lot! You solved my problem, I did a little bit modification on the code, it works out perfectly on iOS 4.3, however it freeze on iOS 5.0 after Ive clicked "choose" for an image. Please help.
Code:
int butSel = 0;
//choose left photo button pressed
-(IBAction)showPictureControlsLeft:(id)sender {
butSel = 1;
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
// Allow editing of image ?
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
}
//choose right photo button pressed
-(IBAction)showPictureControlsRight:(id)sender {
butSel = 2;
UIImagePickerController *picker2 = [[UIImagePickerController alloc] init];
picker2.delegate = self;
// Allow editing of image ?
picker2.allowsEditing = YES;
picker2.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker2 animated:YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
if(butSel==1){
previewImageViewLeft.image = [info objectForKey:@"UIImagePickerControllerEditedImage"];
//[self applyDefaults];
//quartzView.hidden=YES;
}
if(butSel == 2){
previewImageViewRight.image = [info objectForKey:@"UIImagePickerControllerEditedImage"];
//[self applyDefaults];
//quartzView.hidden=YES;
}
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
}
Last edited by zeropt7; 12-02-2011 at 03:13 AM .
Thread Tools
Display Modes
Linear Mode
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
» Advertisements
» Stats
Members: 175,663
Threads: 94,120
Posts: 402,898
Top Poster: BrianSlick (7,990)
Welcome to our newest member, LezB44