使用snapshotViewAfterScreenUpdates的webView.scrollview的UIImage是白色的

时间:2015-06-08 06:55:30

标签: ios uiwebview uiimage

我正在尝试获取整个webView(UIWebView)的屏幕截图,并将其存储为UIImage以供日后检索。

我的代码是:

        var tempView = webView.scrollView.snapshotViewAfterScreenUpdates(true)
        UIGraphicsBeginImageContextWithOptions(tempView.bounds.size, false, 0)
        webView.drawViewHierarchyInRect(tempView.frame, afterScreenUpdates: true)
        image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

当我用

替换第一行代码时
        var tempView = webView.snapshotViewAfterScreenUpdates(true)

我获得了webView可见部分的屏幕截图。但我的目标是获得整个webView截图,包括隐形部分。

感谢这方面的帮助。

编辑:我已经能够使用renderInContext获取scrollview的屏幕截图。但我读到drawViewInHierarcyRect比renderinContext()更高效,我想利用这个。我还想比较两种方法的内存使用情况。

为了获取可见区域的屏幕截图,renderInContext创建4个7MB临时内存块,而drawViewInHierarchy创建2< 9MB块临时内存。

0 个答案:

没有答案