大家好,我一直试图将我正在显示ppt文件的UIWebView转换为位图图像。
我有这段代码:
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 768, 708)];
NSString *path = [[NSBundle mainBundle] pathForResource:documentName ofType:nil];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];
NSLog(@"Ouverture du contexte image");
UIGraphicsBeginImageContext(webView.bounds.size);
[webView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
webview实际上已经很好地显示了,但我没有设法创建它的图像渲染, 如果有人知道问题在哪里;) Thankss
答案 0 :(得分:2)
您的截屏代码没有任何问题 - 您只是过早地使用它。
[webView loadRequest:request];
启动异步客户端请求。这意味着您在加载其内容之前会截取webView
的屏幕截图。
将屏幕截图代码移至UIWebViewDelegate
的方法webViewDidFinishLoad:
。当然,您必须为delegate
分配webView
才能实现此目标。