Сохранить представление UIView в файл - PullRequest
16 голосов
/ 16 июня 2010

Какой самый простой способ сохранить представление UIView в файл?

Мое решение,

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

, но это кажется хитрым, и я думаю, что должен быть более эффективный способ сделатьэто.

1 Ответ

24 голосов
/ 16 июня 2010

Вы также можете использовать слой следующим образом:

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