2009-09-29 13 views

risposta

0

Se ci pensate, self.view = picker.cameraOverlayView copia solo una vista trasparente vuota su di voi !! Non ha nemmeno inserirlo allo schermo, non che avrebbe funzionato ...

Invece, è necessario presentare il controller selettore:

[self.navigationController presentModalViewController:picker animated:YES]; 

quindi assicurarsi di implementare le chiamate delegato (che sembra che tu possa avere da quando hai già impostato il delegato)

1

Provalo.

Nel metodo viewDidLoad, inizializzare UIImagePickerController, assegnare la sua proprietà sourceType come UIImagePickerControllerSourceTypeCamera e delegare come self.

Definire un pulsante nel vostro controller della vista in cui sul suo evento click ottenere la vista modale del imagepicker, come:

[self presentModalViewController:self.picker animated:YES]; 

qui selettore è l'oggetto di UIImagePickerController.

Successivamente, implementare il didinminPickingMediaWithInfo delegato di UIImagePickerController. In questo delegato, è possibile assegnare un UIImage al Dizionario informazioni oggetto, quindi salvare l'immagine sul tuo all'istanza locale di UIImageView (il suo ImageToSave sotto)

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

[[picker parentViewController] dismissModalViewControllerAnimated:YES]; 
UIImage *img = [info objectForKey:@"UIImagePickerControllerImage"]; 
ImageToSave.image = img; 

}

Non dimenticare di includere l'UIImagePickerControllerDelegate in il file .h del tuo controller di visualizzazione principale.

Vedere se funziona o no.