2010-08-15 12 views

Respuesta

9

me encontré con esto, pero no lo he probado a mí mismo:

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

Aquí puede encontrar la utilizada -renderInContext:http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004500-CH1-SW120

edición

transformé los códigos de arriba para una categoría en UIView. lo llaman así: [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); 

} 
+0

Esto funcionará para las capas normales. Las capas OpenGl no aparecerán en la captura de pantalla. La captura de pantalla de UIWebview fallará si el html tendrá -transforma css. – 2mia

Cuestiones relacionadas