2010-07-12 3 views
0

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

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

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

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

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

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

Спасибо!

ответ

0

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

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

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

Он будет захватывать все на окне.

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