Tengo una aplicación que toma una foto y la pone en una vista de imagen. Sencillo. código es el siguiente:¡Toma una foto con iPhone y luego úsala!
- (void)takePhoto:(id)sender
{
// Lazily allocate image picker controller
if (!imagePickerController) {
imagePickerController = [[UIImagePickerController alloc] init];
// If our device has a camera, we want to take a picture, otherwise, we just pick from
// photo library
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
[imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
}else
{
[imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}
// image picker needs a delegate so we can respond to its messages
[imagePickerController setDelegate:self];
}
// Place image picker on the screen
[self presentModalViewController:imagePickerController animated:YES];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
image = [ImageHelpers imageWithImage:image scaledToSize:CGSizeMake(480, 640)];
[imageView setImage:image];
[self dismissModalViewControllerAnimated:YES];
}
Cuando uso la cámara de rollo todo funciona muy bien, pero si uso la cámara real de la vista de la imagen es sólo negro. ¿Porqué es eso?
¿Debo guardarlo en el rollo de la cámara antes de usarlo en la vista de imagen?
Establecer un punto de interrupción para comprobar si la imagen es nulo cuando se pasó a ImageHelpers – edo42
No parece no ser nulo. Puedo guardar la foto en el rollo de la cámara usando: UIImageWriteToSavedPhotosAlbum() para que la imagen exista en la variable. Parece perderse cuando lo asigno a la imageView. – Linus
Supongo que tengo que guardarlo en algún lugar antes de enviarlo a mi vista. ¿Cuál sería el mejor enfoque aquí? – Linus