मेरे आईपैड एप्लिकेशन में, मेरे पास दो व्यू कंट्रोलर हैं, पहले व्यू कंट्रोलर के पास एक बटन है, मैं दूसरे व्यू कंट्रोलर का स्नैपशॉट प्राप्त करना चाहता हूं, जब मैं उस बटन पर क्लिक करता हूं, आईपैड स्क्रीन में दूसरा व्यू कंट्रोलर लोड किए बिना। यदि मैं व्यू कंट्रोलर लोड करता हूं और फिर स्नैपशॉट लेता है तो यह काम कर रहा है लेकिन स्क्रीन पर व्यू कंट्रोलर लोड किए बिना मेरी आवश्यकता है। कृपया विचार या लिंक या कोड स्निपेट दें।आईओएस में स्क्रीन लोड किए बिना व्यू कंट्रोलर का स्नैपशॉट कैसे लें?
उत्तर
इसे आजमाएं: - वीसी का उदाहरण बनाएं कि आप स्क्रीन शॉट लेना चाहते हैं, और फिर ऑब्जेक्ट को इस विधि में पास करें।
+ (UIImage *)renderImageFromView:(UIView *)view withRect:(CGRect)frame {
// Create a new context the size of the frame
UIGraphicsBeginImageContextWithOptions(frame.size, YES, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
// Render the view
[view.layer renderInContext:context];
//[view drawRect:frame];
// Get the image from the context
UIImage *renderedImage = UIGraphicsGetImageFromCurrentImageContext();
// Cleanup the context you created
UIGraphicsEndImageContext();
return renderedImage;
}
यह अच्छा है, लेकिन यदि आप अपने दृश्य में स्प्राइटकिट का उपयोग कर रहे हैं तो यह काम नहीं करता है। – endavid
जिस प्रकार आपका दूसरे दृश्य नियंत्रक का दृष्टांत, और एक स्क्रीनशॉट लेने,:
- (void)foo
{
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"secondVC"];
UIImage *screenShot = [self imageFromView:vc.view];
// Do something with screenShot
}
- (UIImage *)imageFromView:(UIView *) view
{
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, [[UIScreen mainScreen] scale]);
} else {
UIGraphicsBeginImageContext(view.frame.size);
}
[view.layer renderInContext: UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
यह समाधान धीरज कुमार के जवाब पर आधारित है, लेकिन आपके विचार SpriteKit सामग्री के रूप में अच्छी तरह से होता है अगर यह काम करेंगे। हालांकि, आईओएस 7 की आवश्यकता है।
स्विफ्ट में कोड, SpriteKit दृश्य के साथ ViewController के लिए, प्रश्न के
private func takeScreenshot() -> UIImage? {
UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, UIScreen.mainScreen().scale)
view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
नहीं हिस्सा है, लेकिन आप तो बहुत आसानी से अपने स्क्रीनशॉट साझा कर सकते हैं,
if let image = screenshot as? AnyObject {
let activity = UIActivityViewController(activityItems: [image], applicationActivities: nil)
self.presentViewController(activity, animated: true, completion: nil)
}
- 1. आईओएस: पॉप व्यू कंट्रोलर
- 2. आईओएस ऐप लोड होने के बाद रूट व्यू कंट्रोलर बदलना।
- 3. वेब पेज का स्क्रीन शॉट कैसे लें?
- 4. आईओएस में रूट व्यू कंट्रोलर ढूंढना
- 5. कस्टम कंटेनर व्यू कंट्रोलर
- 6. लिनक्स में स्नैपशॉट कैसे लें - प्रोग्रामेटिक रूप से सी ++
- 7. पुश व्यू कंट्रोलर मोडल व्यू कंट्रोलर व्यू
- 8. एचटीएमएल 5-जावास्क्रिप्ट-आधारित वीडियो प्लेयर का स्नैपशॉट कैसे लें?
- 9. स्विफ्ट आईओएस में 2 व्यू कंट्रोलर को कैसे खारिज करें?
- 10. आईओएस 7 यूआईएसप्लिट व्यू कंट्रोलर स्टेटस बार
- 11. आईओएस, स्विफ्ट: एकाधिक टेबल, सिंगल व्यू कंट्रोलर
- 12. असेंबली का उपयोग किए बिना असेंबली कैसे लोड करें। लोड?
- 13. व्यू कंट्रोलर एम्बेडिंग स्टोरीबोर्ड
- 14. स्प्लिट व्यू कंट्रोलर रूट व्यू कंट्रोलर
- 15. कस्टम व्यू कंट्रोलर संक्रमण के दौरान फ्लिकरिंग आईओएस 7
- 16. स्क्रीन के स्नैपशॉट को कैसे न लें कोड के साथ एंड्रॉइड में ऐप न केवल
- 17. शीर्ष-स्तर व्यू कंट्रोलर के साथ XIB कैसे लोड करें?
- 18. नेविगेशन बार के बिना व्यू कंट्रोलर से नेविगेशन बार के साथ पुश/पॉप व्यू कंट्रोलर
- 19. व्यू कंट्रोलर
- 20. वर्तमान व्यू कंट्रोलर
- 21. शेयरकिट मोडल व्यू कंट्रोलर
- 22. मैं व्यू कंट्रोलर
- 23. सभी व्यू कंट्रोलर
- 24. आईओएस 9 - एक्सकोड 7 - एसएफएसएफएरी व्यू कंट्रोलर - छवि अपलोड - कैमरा ब्लैक स्क्रीन
- 25. कंटेनर व्यू कंट्रोलर में UIPageViewController का घूर्णन
- 26. प्रोग्रामिंग रूप से एमवीसी व्यू कंट्रोलर स्विचिंग - आईओएस
- 27. मॉडल व्यू कंट्रोलर
- 28. रूटव्यू कंट्रोलर आईओएस स्टोरीबोर्ड कैसे प्राप्त करें
- 29. स्क्रीन पर छवि का हिस्सा बनाएं (सभी को स्मृति में लोड किए बिना)
- 30. स्टोरीबोर्ड नेविगेशन कंट्रोलर बिना टेबलव्यू कंट्रोलर
कैसे आप चाहते हैं एक वीसी का एक स्नैपशॉट लेने के लिए जो दृश्य नियंत्रक ढेर में लोड नहीं है, अभी तक? – Neeku
आपने क्या प्रयास किया है जो काम नहीं करता है? कोड दिखाएं और समझाएं कि यह क्या गलत है। – Wain
मुझे लगता है कि अगर मैं वीसी का उदाहरण देता हूं और फिर कुछ स्नैपशॉट लेने का तरीका कैसे है .. –