2012-03-02 24 views
11

Tôi vừa mới đưa bộ chọn ảnh vào dự án của mình và mọi thứ đều hoạt động tốt. Điều duy nhất là nó khăng khăng đưa ra cho tôi những cảnh báo sau đây mà tôi thiết lập các đại biểu -Cảnh báo ủy quyền UIImagePickerController

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

Tôi đã thiết lập các đại biểu trong AddTargetViewController.h theo cách thông thường -

@interface AddTargetViewController : UIViewController <UIImagePickerControllerDelegate> 

và tôi không thấy gì sai. Như tôi nói, nó hoạt động tốt, và tất cả các phương pháp đại biểu cháy như họ cần.

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

} 

Cảm ơn bạn đã trợ giúp!

Trả lời

33

Đây là câu hỏi trùng lặp với iPhone - UIImagePickerControllerDelegate inheritance.

Trong ngắn hạn, bộ điều khiển chế độ xem của bạn phải tuân theo UINavigationControllerDelegate ngoài UIImagePickerDelegate.

+0

Cảm ơn - bạn không biết tôi đã đánh cắp trang web này bao lâu để có câu trả lời cho điều này, nhưng tôi đã bỏ lỡ điều đó! Tôi không nghĩ Apple sẽ khó mà làm cho nó rõ ràng hơn một chút, vì nó không rõ ràng (không phải với tôi ...) – SomaMan

3

Cùng với UIImagePickerControllerDelegate chỉ cần thêm UINavigationControllerDelegate vào tệp .h của bạn và nó sẽ hoạt động tốt.

+0

Bạn có thể cho tôi biết lý do cho điều đó là gì? –

Các vấn đề liên quan