iPhone屏幕截图的一个视图

在iphone上,是否有可能“屏幕截图”一个UIView及其子视图? 如果可能的话,怎么样?

我发现了这个,但还没有尝试过自己:

http://reusablesnippets.posterous.com/capture-uiview

在这里你可以findused -renderInContext: http -renderInContext: //developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004500-CH1-SW120

编辑

我将上面的代码转换为UIView上的一个类别。 调用它是这样的: [aView saveScreenshotToPhotosAlbum];

 #import <QuartzCore/QuartzCore.h> - (UIImage*)captureView { CGRect rect = [[UIScreen mainScreen] bounds]; UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); [self.layer renderInContext:context]; UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return img; } - (void)saveScreenshotToPhotosAlbum { UIImageWriteToSavedPhotosAlbum([self captureView], nil, nil, nil); }