用于视图的iPhone屏幕截图

时间:2010-08-15 14:25:07

标签: objective-c ios cocoa-touch

在iphone上,是否可以“截屏”UIView及其所有子视图?如果有可能,怎么样?

1 个答案:

答案 0 :(得分:9)

我找到this,但我自己没试过。

Here您找到了使用过的-renderInContext

我将上面的代码转换为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);

}