2010-06-16 14 views
16

Qual è il modo più semplice per salvare la rappresentazione di UIView in un file?Salva la rappresentazione di UIView nel file

La mia soluzione è,

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]; 

ma sembra difficile, e penso che ci deve essere il modo più efficace per farlo.

risposta

24

È inoltre possibile utilizzare il livello come questo:

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

vedo. Sembra meglio del mio. :) –

+6

E se vuoi una doppia risoluzione su iPhone 4, usa UIGraphicsBeginImageContextWithOptions –