presentModalViewController: एनिमेटेड ios6 में पदावनत है


101

मैं एक छवि पिकर के लिए निम्न कोड का उपयोग कर रहा हूं। लेकिन जब मैं इसे सिम्युलेटर में चलाता हूं, तो मेरे पास स्मृति रिसाव होता है और मुझे presentModalViewcontroller:animatediOS6 में पदावनत होने के बारे में चेतावनी मिलती है । मैं भी dismissModalViewController:animatedपदावनत हो जाता हूं । मैं एसडीके 6.1 का उपयोग कर रहा हूं।

ImagePicker के लिए कोड:

- (void)showAlbum:(id)sender { 
    imagePicker=[[UIImagePickerController alloc]init];
    imagePicker.delegate = self;
    imagePicker.allowsEditing =NO;
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:imagePicker animated:YES];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    //release picker
    [picker dismissModalViewControllerAnimated:YES];
}

जवाबों:


216

इस लाइन का उपयोग करें और जांचें:

[self presentViewController:imagePicker animated:YES completion:nil];

1
इसके स्थान पर: [स्वयं का प्रस्तुतमॉडल व्यू कंट्रोलर: इमेजपिकर एनिमेटेड: यस];
विशाल

8
और इसे खारिज करने के लिए उपयोग करें: [स्वयं को खारिज करनाअनुकूलितअनुरोधी: हाँ पूरा होना: शून्य];
विशाल

एक ही मेमोरी लीक की समस्या और ऐप बंद हो जाएगा
Ram

जहाँ आपको समस्या हो रही है कि किस लाइन में है?
विशाल

Im को यह त्रुटि 'UIApplicationInvalidInterfaceOrientation' प्राप्त हो रही है, कारण: 'पसंदीदाInterfaceOrientationForPresentation को एक समर्थित इंटरफ़ेस ओरिएंटेशन वापस करना होगा!'
राम

17
[[Picker presentingViewController] dismissViewControllerAnimated:YES completion:nil];

के बजाय

 [[Picker parentViewControl] dismissModalViewControllerAnimated:YES];

तथा

[self presentViewController:picker animated:YES completion:nil];

के बजाय

[self presentModalViewController:picker animated:YES];

2
तो अब हमारे पास presentViewController है और यह निर्दिष्ट नहीं करता है कि व्यू कंट्रोलर मोडल होना चाहिए?
सेप्टियाडी अगस

4

जैसा कि विशाल ने उल्लेख किया है

[self presentViewController:imagePicker animated:YES completion:nil];
[self dismissViewControllerAnimated:YES completion:nil];

सुनिश्चित करें कि आपने "पूर्ण: नील" भी जोड़ा है


4
if ([self respondsToSelector:@selector(presentViewController:animated:completion:)])
{
    [self presentViewController:objSignupViewController animated:^{} completion:nil];
}
else
{
    [self presentModalViewController:objSignupViewController animated:YES];
}

2

उपयोग:

[self presentViewController:imagePicker animated:YES completion:nil];

और फिर अपनी बर्खास्तगी के लिए मोडल का उपयोग करें:

[self dismissViewControllerAnimated:controller completion:nil];

या

[self dismissViewControllerAnimated:YES completion:nil];
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.