美文网首页
为WKWebView添加进度条UIProgressView

为WKWebView添加进度条UIProgressView

作者: 独孤伊人_xie | 来源:发表于2019-06-13 15:26 被阅读0次
    lazy var progressView : UIProgressView = {
        let progressView = UIProgressView.init(frame: CGRect(x: 0, y: 0, width: SCREEN_WHIDTH(), height: 0))
        progressView.tintColor = mainBodyColor
        progressView.trackTintColor = UIColor.white
        self.view.addSubview(progressView)
        return progressView
    }()
    
    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
        let objectView : WKWebView = object as! WKWebView
        if objectView  == webView && keyPath == "estimatedProgress" {
            let newprogress : NSNumber = change![NSKeyValueChangeKey.newKey] as! NSNumber
            if newprogress == 1 {
                progressView.isHidden = true
                progressView.setProgress(0, animated: false)
            } else {
                progressView.isHidden = false
                progressView.setProgress(Float(truncating: newprogress), animated: true)
            }
        }
    }

在WKWebView加载时,添加

webView.load(urlRequest as URLRequest)
webView.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)

相关文章

网友评论

      本文标题:为WKWebView添加进度条UIProgressView

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