Swift5 WKWebview 上实现 UIProgressView 进度条

2,035 阅读1分钟
首先 ,define UIProgressViewNSKeyValueObservation

private var progressView : UIProgressView? = nil
private var observation: NSKeyValueObservation? = nil

然后, 在viewDidLoad 里 :

progressView = UIProgressView.init(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 6))
progressView?.progress = 0.05  // 给一点默认进度欺骗用户
progressView?.trackTintColor = UIColor.white  // background color
progressView?.progressTintColor = UIColor.green 
self.view.addSubview(progressView!)

observation = webView.observe(\.estimatedProgress, options: [.new]) { _, _ in
        self.progressView!.progress = Float(self.webView.estimatedProgress)
        }

最后:

deinit {
    observation = nil
}

over