【发布时间】:2016-05-26 05:19:45
【问题描述】:
我可以通过调整UIWebView的UIScrollView的框架来捕获UIWebView的所有内容截图。但是我不能用同样的方法截取WKWebView的所有内容截图。
我用来捕获UIWebView的方法如下:
-
webview.scrollView的备份框架和superview - 创建一个新的容器视图作为
webview.scrollView的超级视图 - 调整新容器视图的框架和
webview.scrollView。框架同webview.scrollView.contentSize - 由
renderInContext或drawViewHierarchyInRect绘制
但是,此方法将捕获WKWebview 的白色屏幕截图。没用!
我打印了WKWebView的所有级别,然后我发现UIView(WKContentView)的大小与contentView相同,你可以通过这个级别找到这个视图:
- WKWeb 视图
- WKScrollView
- WKContentView(大小与 contentView 相同)
- WKScrollView
我也曾尝试通过WKContentView 捕捉,然后我发现只能捕捉可见视图。
无论如何,谁能告诉我如何截取WKWebView的整页内容截图?
【问题讨论】:
-
我已经通过创建许多屏幕截图来捕获 WKWebView 并将其组合成一个大的 UIImage。但是,在这种情况下,
display: absolute;div 将被绘制多次。 -
我写了一个lib来捕获WKWebView:github.com/startry/SwViewCapture,但是还是有
display: absolutediv重复的问题。 -
display: absolute;->position: absolute;