il est très étrange, parce que cette erreur ne se produit pas tout le temps ...UIImageView semble rejeter l'image prise avec l'iPhone caméra
je le code suivant:
- (IBAction)getPhoto:(id)sender {
UIImagePickerController * picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
#if TARGET_IPHONE_SIMULATOR
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
#else
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
#endif
[self presentModalViewController:picker animated:YES];
}
avec le sélecteur délégué correspondant
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [[info objectForKey:@"UIImagePickerControllerOriginalImage"] imageByScalingToSize:CGSizeMake(480, 320)];
[[self imageView] setImage:image];
[picker dismissModalViewControllerAnimated:YES];
}
chose étrange est, parfois l'image apparaît dans imageView et parfois non. Je l'ai appelé
(gdb) po UIImagePNGRepresentation (image)
juste après setImage et farcie la sortie dans un fichier. Le fichier est un png parfait.
Quelqu'un at-il vécu la même chose? Quelqu'un at-il trouvé une solution pour cela?
Merci à l'avance
Max
Pour le rendre un peu plus étrange. Dans la fenêtre du débogueur, j'ai vérifié le pointeur dans _storage de imageView et il est passé de 0x0 comme prévu au nouveau pointeur, le même pointeur que j'ai vu pour l'image. C'est vraiment bizarre. – maxbareis
J'ai ajouté une propriété pour l'image et stocker l'image dans la propriété. J'ai mis un point d'arrêt dans un IBAction différent, effectué l'action et dans la fenêtre du débogueur je peux voir, que l'image pointe toujours vers l'adresse mémoire identique.po la représentation png me donne les données de la bonne image. Semble être quelque chose avec UIImageView (le _storage pointe vers 0x0 juste après l'exécution de la deuxième IBAction) – maxbareis
J'ai défini un point d'arrêt sur viewDidLoad et le sélecteur a été effectué lors de l'utilisation du périphérique. Dans Simulator, le sélecteur n'est pas appelé. Étrange. – maxbareis