Ios WKWebView保存到UIImage
我使用下面的代码将WKWebView保存到UIImage中。但问题是,超过50%的UIImage是空白/空白Ios WKWebView保存到UIImage,ios,objective-c,uiimage,wkwebview,Ios,Objective C,Uiimage,Wkwebview,我使用下面的代码将WKWebView保存到UIImage中。但问题是,超过50%的UIImage是空白/空白 - (UIImage *)screenCapture { UIImage *image; UIGraphicsBeginImageContextWithOptions(self.scrollView.contentSize, TRUE, 0.0f); { CGPoint savedContentOffset = self.scrollView.contentOffset
- (UIImage *)screenCapture {
UIImage *image;
UIGraphicsBeginImageContextWithOptions(self.scrollView.contentSize, TRUE, 0.0f);
{
CGPoint savedContentOffset = self.scrollView.contentOffset;
CGRect savedFrame = self.scrollView.frame;
self.scrollView.contentOffset = CGPointZero;
self.scrollView.frame = CGRectMake(0, 0, self.scrollView.contentSize.width, self.scrollView.contentSize.height);
[self.scrollView drawViewHierarchyInRect:self.scrollView.bounds afterScreenUpdates:YES];
image = UIGraphicsGetImageFromCurrentImageContext();
self.scrollView.contentOffset = savedContentOffset;
self.scrollView.frame = savedFrame;
}
UIGraphicsEndImageContext();
return image;
}
有没有人遇到过同样的问题?有什么解决办法吗?
我也尝试过:[self.scrollView.layer renderInContext:UIGraphicsGetCurrentContext()]代码>但更糟糕的是,UIImage是纯白色的
更新:
这是我的图片样本。
试试这个:
UIGraphicsBeginImageContext(scrollView.frame.size);
[scrollView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
现在您在viewImage中有了scrollview的图像。因此您基本上是从scroll view右侧创建屏幕截图?是的,WKWebView的scrollview属性可能需要截图视图而不是scrollview。尝试view.layer view.layer中的视图必须是scrollviewstillUIGraphicsBeginImageContext(scrollView.frame.size)中的视图代码>?或者我应该将其更改为UIGraphicsBeginImageContext(view.frame.size)代码>?如果您需要scrollview中内容的屏幕截图,则不应更改scrollview.frame.size。此外,如果没有按照您的需要提供,请使用屏幕截图更新您的问题!!!