我正在尝试获取整个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块临时内存。