2012-03-23 1 views
1

Je l'ai eu à travailler dans un ancien code que je n'ai pas fini d'utiliser ... maintenant je l'essaie à nouveau et ça ne fonctionne pas. Je ne suis pas sûr de ce qui ne va pas. Je voudrais que l'utilisateur sélectionne une image et l'ait ensuite disponible dans imageView1 pour l'affichage. J'apprécie l'aide.UIImagepickercontroller ne pas sélectionner l'image

- (IBAction)pushPick 
{ 
    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate =self; 
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    [self presentModalViewController:picker animated:YES]; 
    //[picker release]; 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage: (UIImage *)image editingInfo:(NSDictionary *)editingInfo { 
    [picker.parentViewController dismissModalViewControllerAnimated:YES]; 
    imageView1.image = image; 
} 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 
    [picker.parentViewController dismissModalViewControllerAnimated:YES]; 
} 

Répondre

6

Essayez

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
    imageView1.image = image; 
    [picker release]; 
    [self dismissModalViewControllerAnimated:YES]; 

} 

Et assurez-vous que le contrôleur de vue répond à UIImagePickerControllerDelegate.

imagePickerController: didFinishPickingImage: editingInfo: était déconseillé dans iOS 3.0.

+0

UIImage * image = [info objectForKey: UIImagePickerControllerOriginalImage]; semblait le faire ... merci. –

0

Voilà comment je fais:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 

{ bgImage.image = [info objectForKey: UIImagePickerControllerEditedImage];

UIGraphicsBeginImageContextWithOptions(CGSizeMake(128, 128), YES, 1.0); 

[bgImage.image drawInRect:CGRectMake(0,0,128,128)]; 
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

NSData *imageData = UIImageJPEGRepresentation(newImage, 1.0); 
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); 
NSString *documentsFolder = [path objectAtIndex:0]; 

NSString *tmpPathToFile = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@/specificImagedName.jpg", documentsFolder]]; 

if([imageData writeToFile:tmpPathToFile atomically:YES]){ 
    //NSLog(@"write succesful"); 
} 
/////////////////////////////////////////// 

[po dismissPopoverAnimated:YES]; 
[picker release]; 
[tmpPathToFile release];} 

génère un fichier jpg dans le dossier de documents de votre application. Espérons que cela aide ..

Questions connexes