के दौरान तुरंत UIView को फिर से निकालने के लिए मजबूर करें, मैंने स्नैपशॉट लेने के लिए टूलबार और कस्टम बटन के साथ एक UIImagePicker/कैमरा दृश्य बनाया है। कस्टम बटन की वजह से मैं वास्तव में डिफ़ॉल्ट तरीके से उपयोग नहीं कर सकता, और मैं दृश्य के शीर्ष पर चित्रित कर रहा हूं।अगली रन लूप
जब आप बटन दबाते हैं, तो मैं UIGetScreenImage() का उपयोग करके एक स्क्रीनशॉट लेना चाहता हूं; हालांकि, उपकरण पट्टी छवि में दिखाया गया है, भले ही मैं यह पहली बार छिपाने:
//hide the toolbar
self.toolbar.hidden = YES;
// capture the screen pixels
CGImageRef screenCap = UIGetScreenImage();
मैं यकीन है कि इस वजह से भले ही उपकरण पट्टी छिपा हुआ है, यह एक बार समारोह रिटर्न दोबारा बनाई हो जाता हूँ और हम में प्रवेश अगली रन लूप - UIGetScreenImage के बाद कहा जाता है।
मैं निम्नलिखित इसके अलावा बनाने की कोशिश की है, लेकिन यह मदद नहीं की:
//hide the toolbar
self.toolbar.hidden = YES;
[self.toolbar drawRect:CGRectMake(0, 0, 320, 52)];
// capture the screen pixels
CGImageRef screenCap = UIGetScreenImage();
मैं भी setNeedsDisplay उपयोग करने की कोशिश, लेकिन वह काम नहीं करता, क्योंकि या तो एक बार फिर से ड्रा वर्तमान समारोह रिटर्न के बाद होता है।
कोई सुझाव? धन्यवाद!
यह अकेले ऐसा नहीं किया, लेकिन एक मामूली जोड़ा यह काम कर रहा है। मैंने स्क्रीन कैप्चर चयनकर्ता को [स्वयं प्रदर्शन चयनकर्ता: @ चयनकर्ता (कैप्चरस्क्रीन) के साथ बुलाया ओब्जेक्ट: शून्य बाद के बाद: 0]; और यह काम पूरा हो गया। नेतृत्व के लिए धन्यवाद! –
[स्वयं प्रदर्शन चयनकर्ता: @ चयनकर्ता (कैप्चरस्क्रीन) के साथ ऑब्जेक्ट: शून्य बाद के बाद: 0]; वास्तव में अगले रन लूप पर "कैप्चरस्क्रीन" चलाता है। –