I got this code to be able to take a screenshot of the view.
UIGraphicsBeginImageContext(scrollView.bounds.size);
[scrollView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData * data = UIImagePNGRepresentation(image);
However, even if I set the context to be 320×480, parts of the scroll view are still not shown. The view that the scrollview manages can perfectly fit within the 320×480 frame, but parts of it are covered by the status bar, navBar and TabBar.
I would like to take full screen (320×480) screenshot of the view with the parts of the view, covered by status bar, TabBar and NavBar visible. Any pointers on how to do this?
An extra question, which may be related: the resulting image is using x1 scale, and looks very blurry on the retina display, which scales takes a larger image and scales it down. This means I’ll need to render the 640×960 screenshot to reproduce the original crisp quality. How would I go about doing that?
Thank you!
I found the following on this site: http://www.icodeblog.com/2009/07/27/1188/
You may also want to check out this (Apple’s example of how to make a screenshot): http://developer.apple.com/library/ios/#qa/qa1703/_index.html