iPhone SDK - Como exibir uma foto tirada com a câmera dentro de um UINavigationController?

votos
0

Este é o meu código até agora:

/* class: myViewController
@interface myViewController: UIViewController
       <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
*/
- (IBAction) getPicture {
    UIImagePickerController * picker = [[UIImagePickerController alloc] init];
       picker.delegate = self;
       picker.sourceType = UIImagePickerControllerSourceTypeCamera;
       [self presentModalViewController:picker animated:YES];
}

- (void) imagePickerController:(UIImagePickerController *)thePicker 
                    didFinishPickingMediaWithInfo:(NSDictionary *)imageInfo
{
    [[thePicker parentViewController] dismissModalViewControllerAnimated:YES];
       UIImage *img = [imageInfo
                           objectForKey:@UIImagePickerControllerOriginalImage];
    self.myImageView.image = img;
}

Então, basicamente eu estou tentando obter uma foto da câmera do iPhone e exibi-lo em um UIImageView. Isso funciona perfeitamente bem, desde o myViewController classe é apresentado como uma visão independente. Se eu estou colocando o Vista dentro de um UINavigationController o UIImageView não exibir a imagem depois de tomar um com a câmera. Mas se eu escolher uma foto do tudo biblioteca é bem novamente.

Então, por que o UIImageView não irá exibir uma imagem tirada com a câmera dentro de um UINavigationController?

Publicado 17/02/2010 em 15:38
fonte usuário
Em outras línguas...                            


2 respostas

votos
0

Parece-me que você está descartando a viewcontroller errado. não deve:

[thePicker dismissModalViewControllerAnimated:YES];

ler:

[self dismissModalViewControllerAnimated:YES];
Respondeu 17/02/2010 em 15:57
fonte usuário

votos
0

Tente mudar as seguintes linhas:

[thePicker dismissModalViewControllerAnimated:YES];
UIImage *img = [imageInfo objectForKey:@"UIImagePickerControllerOriginalImage"];
self.myImageView.image = img;

ao seguinte:

UIImage *img = [imageInfo objectForKey:@"UIImagePickerControllerOriginalImage"];
self.myImageView.image = img;
[thePicker dismissModalViewControllerAnimated:YES];

Talvez a imagem é liberado por causa da despedida da vista antes de retê-lo com

self.myImageView.image = img;
Respondeu 17/02/2010 em 15:46
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more