美文网首页
swift WKWebView 一行代码获取webView 截图

swift WKWebView 一行代码获取webView 截图

作者: _秃头少女_ | 来源:发表于2018-09-18 15:51 被阅读58次

    首先导入头文件

    import WebKit
    

    上代码初始化webView,和触发事件按钮

           let webConfig = WKWebViewConfiguration()
             webView = WKWebView.init(frame:self.view.bounds, configuration: webConfig)
            webView.backgroundColor = .red
            let urlRequest = URLRequest.init(url: URL.init(string: "https://www.baidu.com")!)
            webView.load(urlRequest)
            self.view.addSubview(webView)
            let btn = UIButton.init(frame: CGRect.init(x:0, y: self.view.bounds.height-50, width: self.view.bounds.width, height: 50))
            btn.setTitle("获取截图", for: .normal)
            btn.backgroundColor = .red
            btn.addTarget(self, action: #selector(ViewController.snapshot), for: .touchUpInside)
            self.view.addSubview(btn)
    

    事件

      @objc func snapshot()->(){
            let snapConfig = WKSnapshotConfiguration.init()
             //  设置获取截图的范围
            snapConfig.rect = self.view.bounds
            //获取截图
            webView.takeSnapshot(with: snapConfig) { (image, error) in
                print(image as Any)
                //保存到相册 
               //别忘了plist里面 添加NSPhotoLibraryAddUsageDescription字段
                UIImageWriteToSavedPhotosAlbum(image!, nil, nil, nil)
                
                let alert = UIAlertController.init(title: "提示", message: "截图已保存到相册", preferredStyle: .alert)
                alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
                self.present(alert, animated: true, completion: nil)
            }
    

    界面效果如下


    界面效果

    赏个喜欢😍再走啊~~~

    相关文章

      网友评论

          本文标题:swift WKWebView 一行代码获取webView 截图

          本文链接:https://www.haomeiwen.com/subject/mqdpnftx.html