我正在开发iOS应用程序,我需要捕获视图并将MMS发送给特定的人。它一切正常。但是我面临着捕获的问题,这是不可见的(为了更清楚我附加图像)。
我正在看到可见的视图的屏幕截图。如何解决问题?有没有办法达到我的要求?我得到的图像是
我用代码截取屏幕是
UIGraphicsBeginImageContext(webview_pdf.bounds.size);
[webview_pdf.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *pdfImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
好的建议很明显。谢谢。!
答案 0 :(得分:1)
终于找到了解决方案
+ (UIImage *) imageFromWebView:(UIWebView *)view
{
// tempframe to reset view size after image was created
CGRect tmpFrame = view.frame;
// set new Frame
CGRect aFrame = view.frame;
aFrame.size.height = [view sizeThatFits:[[UIScreen mainScreen] bounds].size].height;
view.frame = aFrame;
// do image magic
UIGraphicsBeginImageContext([view sizeThatFits:[[UIScreen mainScreen] bounds].size]);
CGContextRef resizedContext = UIGraphicsGetCurrentContext();
[view.layer renderInContext:resizedContext];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// reset Frame of view to origin
view.frame = tmpFrame;
return image;
}
答案 1 :(得分:0)
您需要创建另一个视图,该视图是内容的完整大小。您可以在屏幕上添加此视图,然后以与此处相同的方式捕获它。它被切断的原因是因为视图只呈现了部分内容。