2011-01-23 16 views
3

Я делаю это: но я всегда получаю белое изображение. Кто-нибудь знает почему?скриншот программно не работает

- (void) screenshotButtonAction{ 
    UIGraphicsBeginImageContext(self.view.bounds.size); 
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 
} 

само является UIViewController и имеет вид OPENGL (UIView + CAEAGLLayer)

EDIT: я понял, что только вид Г.Л. не скриншот-е изд. Странно, subviews и подслои gl gl показывают хорошо, но представление opengl белое на снимке. Это должно быть что-то с текущим контекстом?
Это приложение AR, а gl-просмотр показывает вход камеры + объекты AR, поэтому glview всегда отображается (обновляется) Что может быть здесь?

ответ

1

Код выглядит хорошо. Убедитесь, что вы уже добавили QuartzCore.framework и импортировали его в свой .m-файл.

#import <QuartzCore/QuartzCore.h> 
+0

Я обновил свой вопрос ... пожалуйста, взгляните на него;) – nacho4d

Смежные вопросы