2012-03-02 25 views
11

Acabo de poner un selector de fotos en mi proyecto, y todo funciona bien. La única cosa es que insiste en darme la siguiente advertencia donde hice el delegado -UIImagePickerController delegate warning

Assigning to 'id<UINavigationControllerDelegate,UIImagePickerDelegate>' from incompatible type 'AddTargetViewController *' 

haber puesto por el delegado en el AddTargetViewController.h de la forma habitual -

@interface AddTargetViewController : UIViewController <UIImagePickerControllerDelegate> 

y yo no puedo ver nada mal Como digo, funciona bien, y todos los métodos de delegado se disparan como deberían.

-(void)takePhoto { 

    UIImagePickerController *imagePicker = [[[UIImagePickerController alloc] init] autorelease]; 

    imagePicker.delegate = self; // *** warning on this line *** 
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; 

    [self presentModalViewController:imagePicker animated:YES]; 

} 

¡Gracias por la ayuda!

Respuesta

33

Ésta es una pregunta duplicada a iPhone - UIImagePickerControllerDelegate inheritance.

En resumen, su controlador de vista tiene que conformarse con UINavigationControllerDelegate además de UIImagePickerDelegate.

+0

Gracias, no sabe cuánto tiempo busqué en este sitio para encontrar una respuesta a esto, ¡pero me lo perdí! No creo que sea difícil para Apple aclararlo un poco, ya que no es absolutamente obvio (no para mí de todos modos ...) – SomaMan

3

Junto con su UIImagePickerControllerDelegate solo agregue UINavigationControllerDelegate en su archivo .h y debería funcionar bien.

+0

¿Puede decirme cuál es el motivo para eso? –