qixizhu 2019-02-01 11:20 采纳率: 0%
浏览 1714

iOS WKWebView展示PDF并截取当前画面BUG

项目中需要实现截取网页当前屏幕转化为图片,测试时发现当展示的是PDF时,截取当前屏幕生成的图片只有背景色(灰色),内容没有被截取。其它网页截取正常。
请问各位大神有没有解决方法。
另外,还发现一个BUG,当前WKWebView展示的是PDF时,如果push到下一个画面,然后再返回后,PDF的内容消失,只有背景灰色。
截取屏幕代码:

extension WKWebView {
    func takeSnapshot() -> UIImage? {
        var currentScreenImage: UIImage? = nil
        if #available(iOS 11.0, *) {
            takeSnapshot(with: nil) { (image, _) in
                currentScreenImage = image
            }
        } else {
            currentScreenImage = asImage()
        }
        return currentScreenImage
    }
}

extension UIView {
    func asImage() -> UIImage? {
        if #available(iOS 10.0, *) {
            let renderer = UIGraphicsImageRenderer(bounds: bounds)
            return renderer.image { rendererContext in
                layer.render(in: rendererContext.cgContext)
            }
        } else {
            UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.main.scale)
            guard let context = UIGraphicsGetCurrentContext() else { return nil }
            layer.render(in: context)
            let image = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext()
            return image
        }
    }
}
  • 写回答

1条回答 默认 最新

  • luobo9 2021-11-30 15:43
    关注

    我遇到的跟你一模一样的bug,你解决了吗,怎么解决的

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料