2010-05-12 18 views
5

मैं imagepickerIpad UIImagePickerController और UIPopoverController त्रुटि

-(IBAction)photosAction:(id)sender 
{ 
// dismiss any left over popovers here 
UIImagePickerController* picker = [[UIImagePickerController alloc] init]; 
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
picker.delegate = self; 

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker]; 
self.popoverController = popover;   
popoverController.delegate = self; 
[popoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 
[picker release]; 

के साथ एक पॉपओवर खोलने के लिए इस कोड का उपयोग कर रहा लेकिन यह कुछ नहीं एक संरचना या संघ और इस त्रुटि में सदस्य 'popoverController' के लिए इस त्रुटि अनुरोध में परिणाम 'पॉपओवर कंट्रोलर' अविकसित (पहले इस फ़ंक्शन में उपयोग करें)

साथ ही जब छवि का चयन किया जाता है तो मैं पॉपओवर को खारिज करना चाहता हूं।

छवि का चयन होने के बाद पॉपओवर को खारिज करने के लिए निम्न फ़ंक्शन में मुझे कौन सा कोड रखना चाहिए।

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

सहायता के लिए धन्यवाद!

उत्तर

7

यह त्रुटि उत्पन्न हुई क्योंकि मेरे फ़ंक्शन को बार बटन आइटम की आवश्यकता है और मैं सामान्य UI बटन का उपयोग कर रहा था।

+0

http://mobiforge.com/designing/story/using-popoverview-ipad-app-development – nishantcm

+0

मैं एक ही समस्या पर अपने सिर को तेज़ कर रहा हूं। कोई भी मौका आप अपना कोड पोस्ट कर सकते हैं? क्या आपने बार बटन आइटम का उपयोग करने के लिए यूआई को बदल दिया है, या कोड बदल दिया है? – Boeckm

7

त्रुटि का अर्थ है पॉपओवर नियंत्रक को व्यू कंट्रोलर में घोषित नहीं किया गया है।

@interface ... { 
    ... 
    UIPopoverController *popoverController; 
} 
@property (nonatomic, retain) UIPopoverController *popoverController; 
@end 

कार्यान्वयन में, @synthesize जोड़ने के लिए, viewDidUnload में शून्य पर सेट करें, और dealloc में रिलीज: आप (यह निर्मित नहीं है) एक इवर और संपत्ति के रूप में इंटरफ़ेस में जोड़ने के लिए की जरूरत है।

पॉपओवर को खारिज करने के लिए, आप dismissPopoverAnimated: पर कॉल करेंगे।

[self.popoverController dismissPopoverAnimated:YES]; 
+0

धन्यवाद, यह त्रुटियों को हल किया। लेकिन जब मैं पॉपओवर लोड करने वाले बटन पर क्लिक करता हूं तो मुझे इन त्रुटियों को कंसोल में मिलता है। *** - [UIRoundedRectButton दृश्य]: गैर मान्यता प्राप्त चयनकर्ता न आया हुआ अपवाद 'NSInvalidArgumentException', कारण की वजह से उदाहरण 0x4d1e140 समाप्त ऐप्स को भेजे गए: '*** - [UIRoundedRectButton दृश्य]: गैर मान्यता प्राप्त चयनकर्ता उदाहरण के लिए भेजा 0x4d1e140 – nishantcm

+0

क्या कार्रवाई क्या आपने बटन क्लिक करने के लिए सेट किया है? बटन बनाता है जो कोड बनाता है। सुनिश्चित करें कि addTarget में चयनकर्ता कहते हैं, "फोटोएक्शन:" अंत में कोलन के साथ। यदि आईबी में बटन बनाया गया है, तो स्पर्श-अप-अंदर के कनेक्शन को जांचें। – DyingCactus

+0

आईबीओलेट यूआई बटन * selectImageBtn; @property (nonatomic, retain) IBOutlet UIButton * selectImageBtn; @ सिंथेसाइज selectImageBtn – nishantcm

0

इस कोड का उपयोग करने की कोशिश:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
imagePicker.delegate = self; 
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
popover = [[UIPopoverController alloc] initWithContentViewController:imagePicker]; 
[popover presentPopoverFromRect:CGRectMake(0.0, 0.0, 400.0, 400.0) 
         inView:self.view 
     permittedArrowDirections:UIPopoverArrowDirectionAny 
         animated:YES]; 
संबंधित मुद्दे