Вам нужно сшить изображения вместе.Вы можете получить WebSview contentSize, используя javascript:
webView.evaluateJavaScript("document.body.scrollHeight", completionHandler: { [weak self] (height, error) in
self?.webViewContentHeight = (height as? CGFloat) ?? -1
})
. Вы можете использовать UIGraphicsImageRenderer, чтобы создать контекст изображения такого размера, а затем отобразить каждую страницу веб-представления в контексте изображения:
let image = UIGraphicsImageRenderer(size: CGSize(width: webview.bounds.size.width, height: webViewContentHeight)).image { [webview] context in
for offset in stride(from: 0, to: Int(webViewContentHeight), by: Int(webview.bounds.size.height)) {
let drawPoint = CGPoint(x: 0, y: CGFloat(offset))
webview.scrollView.contentOffset = drawPoint
webview.drawHierarchy(in: CGRect.init(origin: drawPoint, size: webview.bounds.size), afterScreenUpdates: true)
}
}