2012-03-02 86 views
11

我刚刚把一个照片选取器放到我的项目中,并且一切正常。唯一的一点是它硬要给我下面的警告,我设定的委托 -UIImagePickerController委托警告

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

我都以正常的方式建立委托的AddTargetViewController.h -

@interface AddTargetViewController : UIViewController <UIImagePickerControllerDelegate> 

和我看不到任何错误。正如我所说,它工作正常,并且所有的委托方法都应该发挥作用。

-(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]; 

} 

感谢您的帮助!

回答

33

这是iPhone - UIImagePickerControllerDelegate inheritance的重复问题。

总之您的视图控制器具有符合UINavigationControllerDelegate除了UIImagePickerDelegate

+0

谢谢 - 你不知道我多久拖了这个网站的答案,但我错过了那一个!我认为苹果公司不会让它变得更清晰一些,因为它不是非常明显的(对我来说不是这个样子......) – SomaMan 2012-03-10 03:18:38

3

与您的UIImagePickerControllerDelegate一起,只需在您的.h文件中添加UINavigationControllerDelegate,它应该可以正常工作。

+0

你能告诉我是什么原因吗? – 2017-03-22 05:49:48

相关问题