Swift 如何在UIWebView中捕获整个HTML页面(包括溢出)?
下面的代码捕获屏幕,但不是web视图的整个页面:Swift 如何在UIWebView中捕获整个HTML页面(包括溢出)?,swift,uiwebview,xcode6.1,Swift,Uiwebview,Xcode6.1,下面的代码捕获屏幕,但不是web视图的整个页面: func screenShotMethod() { //Create the UIImage UIGraphicsBeginImageContext(view.frame.size) view.layer.renderInContext(UIGraphicsGetCurrentContext()) let image = UIGraphicsGetImageFromCurrentImageContext()
func screenShotMethod() {
//Create the UIImage
UIGraphicsBeginImageContext(view.frame.size)
view.layer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
//Save it to the camera roll
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
}
如何在UIWebView中捕获整个HTML页面(包括溢出)?我知道已经很晚了,但这一个可以帮助其他人:
let webViewFrame = uiWebViewObj.frame
let scrollViewOffset = uiWebViewObj.scrollView.contentOffset
if webView.scrollView.contentSize.width == 0 || webView.scrollView.contentSize.height == 0{
// nothing to take screenshot of
}
//Set the scrollView offset to top of the web Page
uiWebViewObj.scrollView.setContentOffset(CGPointMake(0, -webView.scrollView.contentInset.top), animated: false)
let screenRect = UIScreen.mainScreen().bounds
uiWebViewObj.frame = CGRectMake(webViewFrame.origin.x, webViewFrame.origin.y, screenRect.size.width, uiWebViewObj.scrollView.contentSize.height)
let cgSizeToUse = CGSizeMake(screenRect.size.width, uiWebViewObj.scrollView.contentSize.height)
autoreleasepool{
UIGraphicsBeginImageContextWithOptions(cgSizeToUse, false, 0)
uiWebViewObj.layer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentContext()
UIGraphicsEndImageContext()
}
uiWebViewObj.frame = webViewFrame
uiWebObj.scrollView.contentOffset = scrollViewOffset
参考链接:
让webview和上下文的高度都变大。我对这方面还不熟悉。请说得更具体些。