iphone сохранить несколько просмотров скриншот - PullRequest
0 голосов
/ 12 июля 2010

У меня есть UIImagePickerController, к которому я добавляю несколько подпредставлений, содержащих изображения. Мне нужно сохранить весь контент в виде изображения, но я не могу этого сделать.

Для сохранения содержимого контекста я использую следующий код

UIGraphicsBeginImageContext(self.view.frame.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Это работает для UIImagePickerController, но если я добавлю подпредставления, оно остановится на

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

строка, без каких-либо ошибок в консоли, просто выходит из приложения.

Спасибо!

1 Ответ

0 голосов
/ 20 августа 2010

Если вы пытаетесь захватить все на экране на снимке экрана, я обнаружил это при переполнении стека:

UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow];

UIGraphicsBeginImageContext(screenWindow.frame.size);
[screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Он захватит все в окне.

Надеюсь, это поможет.

...