iOS 8 स्नैपशॉट को खाली स्नैपशॉट में परिणाम नहीं दिया गया है एक दृश्य स्नैपशॉटिंग


228

IOS 8 में मुझे अब तक कैमरे से छवियों को कैप्चर करने में समस्या हो रही है, मैं इस कोड का उपयोग कर रहा हूं

UIImagePickerController *controller=[[UIImagePickerController alloc] init];
controller.videoQuality=UIImagePickerControllerQualityTypeMedium;
controller.delegate=(id)self;
controller.sourceType=UIImagePickerControllerSourceTypeCamera;
[self presentViewController:controller animated:YES completion:nil];

लेकिन iOS 8 में मुझे यह मिल रहा है:

Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.

मैंने इस पोस्ट के साथ दिए गए समाधान के साथ प्रयास किया है

@property (strong,nonatomic)UIImagePickerController *controller;

_controller=[[UIImagePickerController alloc] init];
_controller.videoQuality=UIImagePickerControllerQualityTypeMedium;
_controller.delegate=(id)self;
_controller.sourceType=UIImagePickerControllerSourceTypeCamera;
_[self presentViewController:controller animated:YES completion:nil];

और इस

...
controller.modalPresentationStyle=UIModalPresentationFullScreen;
or
controller.modalPresentationStyle=UIModalPresentationCurrentContext;
...

और इस

double delayInSeconds = 0.1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    [self presentViewController:controller animated:YES completion:nil];
});

और इस

[self presentViewController:controller animated:YES completion:NULL];

और इस

[self presentViewController:controller animated:YES completion:^{

}];

कोई उपाय?


3
एक ही मुद्दा है और आगे यह बग मेरे ऐप को कई बार क्रैश करता है। आशा है कि अद्यतन 8.0.2 इस बग को ठीक कर देगा। जब मैं iOS7 में अपना ऐप चलाता हूं तो यह बिना किसी बेवकूफ चेतावनी के आकर्षण की तरह काम करता है। ऐसा लगता है कि iOS 8 में स्थिरता का लंबा रास्ता है।
NCFUSN

9
8.0.2 के साथ घटना यह समस्या अभी भी बनी हुई है
ArdenDev

2
मुझे भी यही समस्या आ रही थी। जब मैं फोटो ले रहा था, उसके बाद मैं दूसरे धागे में कुछ प्रोसेसिंग कर रहा था। जब मैंने कोड को मुख्य धागे में स्थानांतरित किया, तब सब कुछ ठीक था। यानी, मेरा कोड इससे पहले था: dispatch_async(dispatch_get_main_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{जिसे मैंने बदल दियाdispatch_async(dispatch_get_main_queue(), ^{
mikeyq6

9
IOS 8.1 में समान समस्या होती है
रैप्टर

12
IOS 9 में भी होता है।
सेबडैड

जवाबों:


131

मुझे पूरा यकीन है कि यह आईओएस 8.0 में सिर्फ एक बग है। यह POC ऐप्स के सबसे सरल के साथ प्रतिलिपि प्रस्तुत करने योग्य है UIImagePickerControllerजो आपके द्वारा ऊपर किए जा रहे प्रयास की तरह पेश करने के अलावा और कुछ नहीं करता है। इसके अलावा, मेरी जानकारी के लिए छवि पिकर / कैमरा प्रदर्शित करने के लिए कोई वैकल्पिक पैटर्न नहीं है। आप ऐप्पलस यूजिंग यूआईआईमैजपिककंट्रोलर नमूना ऐप भी डाउनलोड कर सकते हैं , इसे चला सकते हैं, और यह बॉक्स से बाहर एक ही त्रुटि उत्पन्न करेगा।

उस ने कहा, कार्यक्षमता अभी भी मेरे लिए काम करती है। चेतावनी / त्रुटि के अलावा, क्या आपके पास अपने ऐप के कामकाज के मुद्दे हैं?


2
हाँ शायद यह एक बग है, कोड मेरे लिए भी ठीक काम कर रहा है।
सविविसेक

4
@souvickcse मैं इस त्रुटि का सामना कर रहा हूं। जब भी ऐसा होता है, एक नया चित्र लिया जाने के बाद जो छवि पूर्वावलोकन होता है वह पूरी तरह से काला होता है। हालांकि, स्क्रीन के निचले भाग में "री-टेक" और "फोटो का उपयोग करें" बटन अभी भी दिखाई देते हैं और ठीक से कार्य करते हैं। क्या आप भी यही व्यवहार देख रहे हैं?
बैरी बीरमैन

3
@souvickcse मैं यहां स्थित नवीनतम फोनगैप कैमरा प्लगइन बेसलाइन का उपयोग कर रहा हूं: github.com/apache/cordova-plugin-camera । IOS 5 के साथ iPhone 5 पर चलने के साथ सब कुछ ठीक है, लेकिन मुझे iPhone 6 पर iOS 8 का उपयोग करके इसे ठीक से काम करने का तरीका नहीं मिल रहा है
बैरी बीरमैन

2
IOS8.1 फाइनल के साथ मेरे लिए भी यही है
fvisticot

4
IOS 9 में अभी भी मौजूद है
रेवरेंड

45

मैं कई घंटों से इस समस्या से जूझ रहा था, मैंने हर प्रासंगिक विषय को पढ़ा है और पता चला है कि त्रुटि इसलिए हुई क्योंकि मेरे डिवाइस की गोपनीयता सेटिंग्स के तहत, मेरे ऐप का कैमरा एक्सेस ब्लॉक हो गया था !!! मैंने कभी भी कैमरे तक पहुंच से इनकार नहीं किया है और मुझे नहीं पता कि यह कैसे अवरुद्ध था लेकिन यह समस्या थी!


4
मुझे यकीन नहीं है कि यह वास्तव में आपके लिए काम करता है, लेकिन यह मेरे लिए काम नहीं करता है। मुझे बस उम्मीद है कि @KevinH सही है।
दीपक ठाकुर

4
नहींं, मेरे मामले में कैमरे की पहुंच चालू है। लेकिन मेरा मानना ​​है कि यह अप्रत्यक्ष रूप से सेटिंग्स के कारण हो सकता है: सेटिंग्स में बदलाव कभी-कभी तुरंत प्रभावी नहीं होते हैं,
कपर्टिनो

इस सुझाव ने मेरे लिए समस्या का समाधान कर दिया। जब कैमरा चयनकर्ता मेरे ऐप में आया था, तो मैंने पहले "डोंट अनुमति" को छुआ था। मैंने सोचा कि यह हर बार मुझसे पूछेगा कि मैंने कैमरा एक्सेस किया है, लेकिन यह नहीं हुआ। मुझे Settings> Privacy> Camera में जाना था और अपने ऐप के लिए स्लाइडर को ऑन करना था। फिर ठीक से काम किया। लगता है कि Apple के हिस्से पर हर बार नहीं पूछते हैं ...
जॉन कॉन्टेरिनो

ठीक है, कभी-कभी हम इस प्रकार की गलतियों के लिए उठाया गया मुद्दा नहीं सोच सकते। thx दोस्त बहुत मददगार
Mr.Javed Multani

क्षमता का सक्रिय होने का पता लगाने के लिए कैमरे का उपयोग करने से पहले सबसे अच्छा विकल्प है, और यदि नहीं, तो उपयोगकर्ता को सचेत करें कि चित्र लेना तब तक उपलब्ध नहीं है जब तक कि कैमरा सेटिंग्स पर सक्रिय न हो। IOS 10 पर, उपयोगकर्ता को विशिष्ट ऐप सेटिंग्स में भेजना संभव है (IOS 8 से पहले संभव था, लेकिन iOS 8 और 9 में संभव नहीं है, अगर मैं सही तरीके से याद करता हूं)।
दयालु

33

मेरे पास ऊपर @ greg के उत्तर पर टिप्पणी करने के लिए पर्याप्त प्रतिष्ठा बिंदु नहीं हैं, इसलिए यहां मेरी टिप्पणियों को जोड़ा जाएगा। मेरे पास iPad और iPhone दोनों के लिए एक स्विफ्ट परियोजना है। मेरे मुख्य दृश्य नियंत्रक के अंदर एक विधि है (नीचे थोड़ा प्रासंगिक)। जब मैं एक फोन पर यह परीक्षण करता हूं, तो सब कुछ ठीक से काम करता है और कोई चेतावनी उत्पन्न नहीं होती है। जब मैं इसे एक iPad पर चलाता हूं, तो सब कुछ ठीक से काम करता है लेकिन मैं दृश्य को स्नैपशॉट करने के बारे में चेतावनी देखता हूं। हालांकि, दिलचस्प बात यह है कि जब मैं पॉपओवर नियंत्रक का उपयोग किए बिना एक iPad पर चलता हूं, तो सब कुछ ठीक से चेतावनी के बिना काम करता है। दुर्भाग्य से, Apple का कहना है कि iPad पर एक पॉपओवर के भीतर छवि पिकर का उपयोग किया जाना चाहिए, अगर कैमरा का उपयोग नहीं किया जा रहा है।

    dispatch_async(dispatch_get_main_queue(), {
        let imagePicker: UIImagePickerController = UIImagePickerController();
        imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum;
        imagePicker.mediaTypes = [kUTTypeImage];
        imagePicker.allowsEditing = false;
        imagePicker.delegate = self;

        if(UIDevice.currentDevice().userInterfaceIdiom == .Pad){ // on a tablet, the image picker is supposed to be in a popover
            let popRect: CGRect = buttonRect;
            let popover: UIPopoverController = UIPopoverController(contentViewController: imagePicker);
            popover.presentPopoverFromRect(popRect, inView: self.view, permittedArrowDirections: UIPopoverArrowDirection.Up, animated: true);
        }else{
            self.presentViewController(imagePicker, animated: true, completion: nil);
        }
    });

ऐसा लगता है कि यह एक सही सुझाव है क्योंकि मुझे iOS 9.0.2 के साथ भी वह त्रुटि संदेश आ रहा है। मेरे पास आईफोन केवल ऐप है और जब मैं इसे अपने iPad मिनी पर चलाता हूं तो मुझे छवि पिकर पेश करते समय वह संदेश दिखाई देता है। किसी कारण से iOS को लगता है कि मैं iPad ऐप चलाता हूं।
जॉन ट्रैसीड

16

मैं UIImagePickerController presentViewController को कॉल करने के बाद इसमें भाग गया: कॉलबैक से UIAlertView प्रतिनिधि के लिए। मैंने वर्तमान दृश्य धक्का देकर समस्या को हल किया: डिस्पैच_सिंक का उपयोग करके वर्तमान निष्पादन ट्रेस को बंद करें।

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    dispatch_async(dispatch_get_main_queue(), ^{
        UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
        imagePickerController.delegate = self;

        if (buttonIndex == 1)
            imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        else
            imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;

        [self presentViewController: imagePickerController
                           animated: YES
                         completion: nil];
    });
}

यही मेरे लिए इसका हल है। मैं एक UIAlertAction के एक्शन ब्लॉक के अंदर से UIImagePickerController पेश करने का प्रयास कर रहा था।
josefdlange

चेतावनी दृश्य को पदावनत कर दिया गया है, अगर मैं इसके बजाय UIAlertViewController कार्रवाई के अंदर एसिंक्स का उपयोग करता हूं तो क्या यह काम करेगा?
DrPatience

@DrPatience ज़रूर। dispatch_async कोई भी काम करता है जहाँ आप चाहते हैं। मुझे नहीं पता कि यह आवश्यक है (आपके कोड पर निर्भर करेगा)। जीसीडी पर पढ़ें - इसके कई उपयोग हैं।
ग्रेग

12

मेरे पास यह मुद्दा था जब कुछ विचारों और ऐप को एनिमेट करते हुए बैकग्राउंड मोड में चला जाता था और वापस आ जाता था। मैंने एक ध्वज स्थापित करके इसे संभाला है। मैंने इसे NO में सेट किया

- (void)applicationWillResignActive:(UIApplication *)application

और में हाँ

- (void)applicationDidBecomeActive:(UIApplication *)application

और मेरे विचार के अनुसार चेतन या चेतन नहीं। मुद्दे की देखभाल की।


11

मेरे पास UIAlertControllerStyleActionSheet है जिसमें उपयोगकर्ता को कैमरे के साथ एक तस्वीर लेने या लाइब्रेरी से एक का उपयोग करने का विकल्प दिया गया है।

मैंने त्रुटि संदेश पर एक प्रतीकात्मक विराम बिंदु की कोशिश की यहां छवि विवरण दर्ज करें

मुझे पता चला कि प्रस्तुति के दौरान UICollectionView के आंतरिक उपयोग से त्रुटि उत्पन्न होती है

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

यहां छवि विवरण दर्ज करें

मैंने इसे निश्चित रूप से प्रस्तुत करने से पहले फ्रेम सेट करके तय किया

[alert setPreferredContentSize: alert.view.frame.size];

यहां पूरा मेथोड है जो त्रुटि के बिना काम कर रहा है

-(void)showImageSourceAlertFromSender:(id)sender{
UIButton *senderButton = (UIButton*)sender;
UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *cameraAction = [UIAlertAction actionWithTitle:@"Camera" style:UIAlertActionStyleDefault
                                                     handler:^(UIAlertAction *action) {
                                                         [self takePhoto];
                                                     }];
UIAlertAction *libraryAction = [UIAlertAction actionWithTitle:@"Library" style:UIAlertActionStyleDefault
                                                      handler:^(UIAlertAction *action) {
                                                          [self selectPhotoFromLibraryFromSender:sender];
                                                      }];
[alert addAction:cameraAction];
[alert addAction:libraryAction];
alert.popoverPresentationController.delegate = self;
alert.popoverPresentationController.sourceRect = senderButton.frame;
alert.popoverPresentationController.sourceView = self.view;

[alert setPreferredContentSize: alert.view.frame.size];

[self presentViewController:alert animated:YES completion:^(){
}];}

10

आप viewव्यू कंट्रोलर को पेश करने से पहले संपत्ति को संदर्भित करके "स्नैपशॉटिंग अ व्यू" चेतावनी को चुप कर सकते हैं। ऐसा करने से दृश्य लोड हो जाता है और स्नैपशॉट लेने से पहले iOS इसे रेंडर करने की अनुमति देता है।

UIAlertController *controller = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
controller.modalPresentationStyle = UIModalPresentationPopover;
controller.popoverPresentationController.barButtonItem = (UIBarButtonItem *)sender;

... setup the UIAlertController ... 

[controller view]; // <--- Add to silence the warning.

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

यह लगभग अविश्वसनीय रूप से उपयोगी टिप है। धन्यवाद!!!! (मेरे मामले में, मुझे अभी भी चेतावनी मिलती है, लेकिन ऐप अब क्रैश नहीं होता है।)
फेटी

हालाँकि, जब मैं एक जोड़ देता हूं, तो cameraOverlayViewदुर्भाग्य से मुझे यह समस्या तब भी होती है जब मैं इस टिप को लागू करता हूं।
फेटी

8

छवि पर कब्जा करने के बाद एक काले पूर्वावलोकन के साथ एक समस्या देख रहा है किसी के लिए, UIPickerController दिखाया गया है के बाद स्थिति पट्टी को छुपाने से समस्या को ठीक करने के लिए लगता है।

UIImagePickerControllerSourceType source = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] ? UIImagePickerControllerSourceTypeCamera : UIImagePickerControllerSourceTypeSavedPhotosAlbum;
UIImagePickerController *cameraController = [[UIImagePickerController alloc] init];
        cameraController.delegate = self;
        cameraController.sourceType = source;
        cameraController.allowsEditing = YES;
        [self presentViewController:cameraController animated:YES completion:^{
            //iOS 8 bug.  the status bar will sometimes not be hidden after the camera is displayed, which causes the preview after an image is captured to be black
            if (source == UIImagePickerControllerSourceTypeCamera) {
                [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
            }
        }];

1
अपने दिन को पूरी तरह से बचाया! मैंने ऊपर दिए गए तरीकों की कोशिश की है, किसी ने काम नहीं किया। और यह काम किया
स्टेन

समाधान काम नहीं कर रहा है। मुझे लगता है कि जब हम उस समय एक छवि कैप्चर करते हैं तो स्टेटसबार पहले ही छिपा हुआ है।
मिहिर ओझा

5

मैं एक ही मुद्दा पाया और सब कुछ करने की कोशिश की। मेरे पास दो अलग-अलग ऐप हैं, एक उद्देश्य-सी और एक स्विफ्ट में - दोनों में एक ही समस्या है। त्रुटि संदेश डीबगर में आता है और पहली फ़ोटो के बाद स्क्रीन काली हो जाती है। यह केवल iOS> = 8.0 में होता है, जाहिर है कि यह एक बग है।

मुझे एक मुश्किल हल मिला। ImagePicker.showsCameraControls = false के साथ कैमरा नियंत्रण बंद करें और लापता बटन वाले अपने स्वयं के ओवरलेव्यू बनाएं। ऐसा करने के लिए विभिन्न ट्यूटोरियल हैं। अजीब त्रुटि संदेश रहता है, लेकिन कम से कम स्क्रीन काला नहीं होता है और आपके पास एक काम करने वाला ऐप है।


मेरे पास आपके जैसा ही मुद्दा था, नीचे मेरा जवाब देखें।
दान

5

यह अंतर्निहित ImagePickerController का बग हो सकता है। मेरा कोड काम कर रहा है, लेकिन कभी-कभी iPhone 6 प्लस पर क्रैश हो जाता है।

मैंने अन्य उत्तरों द्वारा सुझाए गए सभी समाधानों की कोशिश की है, लेकिन कोई भाग्य नहीं था। समस्या अंत में JPSImagePickerController पर स्विच करने के बाद हल हुई


3

मैंने सब कुछ करने की कोशिश की है, मेरी समस्या यह थी कि कैमरा और फोटो लाइब्रेरी के लिए छवि पिकर उनके दिखाए जाने के तुरंत बाद गायब हो गया। मैंने इसे निम्न पंक्ति (स्विफ्ट) से हल किया

imagePicker.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext

3

मुझे पूरा यकीन है कि यह आईओएस 8.0 में सिर्फ एक बग है। यह POC ऐप्स के सबसे सरल के साथ प्रतिलिपि प्रस्तुत करने योग्य है जो UIImagePickerController प्रस्तुत करने के प्रयास से अधिक कुछ नहीं करता है जैसे आप ऊपर कर रहे हैं। इसके अलावा, मेरी जानकारी के लिए छवि पिकर / कैमरा प्रदर्शित करने के लिए कोई वैकल्पिक पैटर्न नहीं है। आप ऐप्पलस यूजिंग यूआईआईमैजपिककंट्रोलर नमूना ऐप भी डाउनलोड कर सकते हैं, इसे चला सकते हैं, और यह बॉक्स से बाहर एक ही त्रुटि उत्पन्न करेगा।

उस ने कहा, कार्यक्षमता अभी भी मेरे लिए काम करती है। चेतावनी / त्रुटि के अलावा, क्या आपके पास अपने ऐप के कामकाज के मुद्दे हैं?


3

यदि हम UIImagePickerControllerएक संपत्ति के रूप में उपयोग कर रहे हैं, तो यह चेतावनी गायब हो जाएगी।मान लें कि हम परिणाम का उपयोग नहीं कर रहे हैं UIImagePickerController, अगर हम UIImagePickerControllerकिसी फ़ंक्शन के भीतर त्वरित कर रहे हैं ।


2

इस विधि को बुलाकर मेरे लिए काम किया। अपना दृष्टिकोण प्रस्तुत करने के बाद इसे रखें।

[yourViewBeingPresented.view layoutIfNeeded];

1

मुझे भी इसी समस्या का सामना करना पड़ता है और मैंने कैमरा उपलब्ध होने की जाँच करके इसे हल किया:

BOOL cameraAvailableFlag = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
    if (cameraAvailableFlag)
        [self performSelector:@selector(showcamera) withObject:nil afterDelay:0.3];

1
isSourceTypeAvailable रिटर्न सही है, हालांकि मैंने अपने ऐप के लिए कैमरे तक पहुंच से इनकार कर दिया है। कैमरा पहुंच से वंचित होने पर प्रदर्शन रिक्त है।
15αrΚhικ

1

मैं इस मुद्दे को लेकर आया हूं। जब हम कैमरे को कॉल करते हैं और इस मुद्दे को उत्पन्न करने वाले विचारों को जारी करते हैं। एक उदाहरण के लिए एक कैमरा कॉल करें और व्यू डाइल्यूशन विधि में दृश्य शून्य सेट करें क्योंकि यह त्रुटि तब आएगी जब कैमरा इवेंट के लिए कॉलबैक नहीं है। इस त्रुटि के लिए इस मामले के बारे में भी सुनिश्चित करें।


1

मुझे एक ही बग मिला, कैमरा खोलते समय कंसोल में बाइल मैसेज मिल रहा है।

'स्नैपशॉट देखने से खाली स्नैपशॉट में परिणाम प्रस्तुत नहीं किए गए हैं। सुनिश्चित करें कि स्क्रीन अपडेट के बाद स्नैपशॉट या स्नैपशॉट से पहले आपका दृश्य कम से कम एक बार प्रस्तुत किया गया है। '

मेरे लिए समस्या Info.plist फ़ाइल में बंडल डिस्प्ले नाम के साथ थी। यह कुछ खाली था, मैंने अपना ऐप नाम वहां डाल दिया और अब यह ठीक काम कर रहा है। मुझे खाली बंडल डिस्प्ले नाम के कारण कोई कैमरा अनुमति चेतावनी प्राप्त नहीं हुई थी। रेंडरिंग से दृश्य अवरुद्ध।

समस्या दृश्य के साथ नहीं थी, लेकिन बिना अनुमति के इसे प्रस्तुत करने से। आप इसे सेटिंग्स पर देख सकते हैं -> गोपनीयता -> कैमरा, यदि आपका ऐप सूचीबद्ध नहीं है तो समस्या समान हो सकती है।


1

मैं Phonegap का उपयोग कर रहा हूं, लेकिन यह धागा त्रुटि संदेश के बारे में Googling के पहले के रूप में आता रहता है।

मेरे लिए यह मुद्दा पीएनजी के लिए कल्पना को परिभाषित करके चला गया।

encodingType : Camera.EncodingType.PNG

तो पूरी लाइन:

 navigator.camera.getPicture(successFunction, failFunction, { encodingType : Camera.EncodingType.PNG, correctOrientation:true, sourceType : Camera.PictureSourceType    .PHOTOLIBRARY, quality: 70, allowEdit : false , destinationType: Camera.DestinationType.DATA_URL});

आपका लाभ भिन्न हो सकता है, लेकिन इसने मेरे लिए चाल चली।


1

वैकल्पिक रूप से, उपयोग करने पर विचार करें drawViewHierarchyInRect:

स्विफ्ट:

extension UIImage{

    class func renderUIViewToImage(viewToBeRendered: UIView) -> UIImage
    {
        UIGraphicsBeginImageContextWithOptions(viewToBeRendered.bounds.size, true, 0.0)
        viewToBeRendered.drawViewHierarchyInRect(viewToBeRendered.bounds, afterScreenUpdates: true)
        viewToBeRendered.layer.renderInContext(UIGraphicsGetCurrentContext()!)

        let finalImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

        return finalImage
    }
}

उद्देश्य सी:

- (UIImage *)snapshot:(UIView *)view
{
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);
    [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;
}

और देखें:


0

मेरे मामले में (XCode 7 और iOS 9), मैं UINavigationController"हिडन" का उपयोग करता हूं , इसलिए Ihave UINavigationControllerDelegateको वर्तमान कैमरा या रोल में जोड़ना है और यह काम करना है जैसे कि यह माना जाता है! And pickerControllerDelegate.selfया तो त्रुटि प्रदर्शित नहीं करता है!

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