Ios WKWebView保存到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

我使用下面的代码将WKWebView保存到UIImage中。但问题是,超过50%的UIImage是空白/空白

- (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中的视图必须是scrollviewstill
UIGraphicsBeginImageContext(scrollView.frame.size)中的视图?或者我应该将其更改为
UIGraphicsBeginImageContext(view.frame.size)?如果您需要scrollview中内容的屏幕截图,则不应更改scrollview.frame.size。此外,如果没有按照您的需要提供,请使用屏幕截图更新您的问题!!!