पर कब्जा नहीं करता है एक UIImageVIew
(imageView
) self.view
में जोड़ा जाता है, एलबम के लिए दृश्य पर कब्जा पूरी तरह से काम करता है:renderInContext घुमाया subviews
CGSize size = CGSizeMake(self.view.frame.size.height, self.view.frame.size.width);
UIGraphicsBeginImageContext(size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
हालांकि, अगर imageView
subview तक घुमाया जाता है:
[CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
कैप्चरिंग self.view
फिर से घूर्णन को प्रतिबिंबित नहीं करता है। सबव्यू imageView
जैसा कि घुमाया नहीं गया है।
renderInContext
CABasicAnimation
द्वारा घूर्णन वाले सबव्यू के साथ काम करता है?
अद्यतन:
चेतावनी: CALayer/-renderInContext: विधि पूर्ण कोर एनिमेशन रचना मॉडल को लागू नहीं करता है। नीचे प्रदान की कोड स्थितियों का सबसे हल करने में सक्षम हो जाएगा, लेकिन वहाँ चीजें हैं जो CALayer/-renderInContext हैं: विधि सही ढंग से प्रस्तुत नहीं होती है, तो आप इच्छा वैकल्पिक हल अनुरोधों के लिए डेवलपर तकनीकी समर्थन से संपर्क करने के लिए कर सकते हैं।
आधिकारिक एप्पल तकनीकी क्यू & एक QA1703 वैकल्पिक हल अनुरोधों के लिए डेवलपर तकनीकी समर्थन से संपर्क करने का सुझाव दिया।
वहाँ एक समाधान है पहले से ही अस्तित्व में है?
ग्राफिक्स context_ जो पहचाना जा सकता है _rotate कैसे
यहाँ UIView के स्क्रीनशॉट लेने के लिए, UIView + Screenshot.h एक श्रेणी है 'renderInContext' द्वारा? – ohho
'CGContextRotateCTM (संदर्भ, कोण)' –
मैं एक उच्च स्तरीय स्क्रीन कैप्चर की तलाश में हूं (जैसे पावर-होम कुंजी कॉम्बो स्क्रीन कैप्चर)। चूंकि कई सबव्यूव्स सबव्यूव्स को शामिल करते हैं जो 'CABasicAnimation' द्वारा घूर्णन किए जाते हैं ... – ohho