2012-03-02 11 views
11

私はちょうど私のプロジェクトに写真ピッカーを入れて、すべてうまくいきます。私は通常の方法でAddTargetViewController.hでデリゲートを設定しているUIImagePickerControllerデリゲート警告

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

- -

@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への重複した質問です。

つまり、ビューコントローラはUIImagePickerDelegateに加えてUINavigationControllerDelegateに準拠している必要があります。

+0

ありがとうございます - 私はこのサイトを辿って、どれくらいの間この答えを得たのか分かりませんが、私はそれを逃しました!私はAppleが少し明瞭にするのは難しいとは思わないが、それはぼんやりと明白ではない(とにかく私にとってではない...) – SomaMan

3

UIImagePickerControllerDelegateと一緒に.hファイルにUINavigationControllerDelegateを追加するだけで正常に動作します。

+0

その理由は何か教えてもらえますか? –