2010-06-16 13 views
16

¿Cuál es la forma más fácil de guardar la representación de UIView en un archivo?Guardar la representación de UIView en el archivo

Mi solución es,

UIGraphicsBeginImageContext(someView.frame.size); 
[someView drawRect:someView.frame]; 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

NSString* pathToCreate = @"sample.png"; 

NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)]; 
[imageData writeToFile:pathToCreate atomically:YES]; 

pero parece difícil, y creo que debe ser la forma más eficiente de hacer esto.

Respuesta

24

También puede utilizar la capa de la siguiente manera:

UIGraphicsBeginImageContext(someView.bounds.size); 
[someView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
+0

veo. Parece mejor que el mío. :) –

+6

Y si quiere una resolución doble en el iPhone 4, use UIGraphicsBeginImageContextWithOptions –

Cuestiones relacionadas