WKWebView——html生成长图

前言

由于本人今年加入了换工作大潮,到了如今的这家公司,工作不是忙,所以有跟多的时间自我学习,于是想到写下自己在这两年工作以来的第一篇博客。最近在重拾swift,所以把之前遇到的一个把Html5页面转换成长图的功能使用swift重新整理了一遍;

当时在做这个功能是也在网上搜集过很多资料,相对来说使用UIWebView进行截图相对来说是很简单的直接使用renderInContext方法即可将web页面直接转换成长图,由于之前的工作中已经使用WKWebView替换了UIWebView,而WKWebView在做这个功能时的难点是WK对页面渲染方式的优化,wk不会像UIWebView那样一次性渲染出全部内容,而是每次大约渲染一页半的内容,滑动再渲染下面的内容;

所以当时采用的解决办法就是通过滚屏然后延时绘图的方式,每次滚屏后Wk有一定的渲染时间,当时经过不断调试0.2s是最符合的延时时间,接下来直接上代码:

extension UIScrollView {
    //scrollView   长截图
    class func bd_scrollViewScreenshots(scrollView:UIScrollView) {
        var scrollviewFrame:CGRect
        var index:Int
        var page:Int
        
        page = Int(scrollView.contentSize.height / scrollView.frame.size.

你可能感兴趣的:(iOS开发,WKWebView,HTML长图,swift,ScrollView,ios)