2012-03-02 96 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

相關問題