我希望当tableView行点击并打开webView屏幕时,我的progressBar会显示值0.3。稍后它会进展+0.1,当它加载时它变为1并隐藏它。
我的所作所为:
progressBar.progress = 0.3
myWebView.loadHTMLString(body, baseURL: nil)
progressBar.progress = 1
立即加载完整的进度。我该怎么做?我必须关闭异步吗?
更新
我也是
func webViewDidStartLoad(webView: UIWebView) {
progressBar.progress = 0.2
}
func webViewDidFinishLoad(webView: UIWebView) {
progressBar.progress = 1
}
但它不起作用。它停留在某个位置
更新2
他们还没有打电话。我在这些函数中写了println而没有打印
答案 0 :(得分:1)
您最好看到本教程:http://www.ioscreator.com/tutorials/progress-view-tutorial-in-ios8-with-swift
嗯,你在代码中的错误是:
当'webViewDidStartLoad'被调用时,进度条将增加到0.2%,这没关系!因为它的初始点。但是当你要增加到0.2 - 0.4或0.2 - 0.3时,你必须作为异步任务运行。所以,请查看教程并相应地增加计数器。
希望你明白了!
答案 1 :(得分:0)
我只是从我的webView拖动并使用我的viewController委托它,它现在可以正常工作了!
答案 2 :(得分:0)
试试这个
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL(string: "https://topdigital.agency")
let request = NSURLRequest(url: url as! URL)
webView.loadRequest(request as URLRequest)
webView.delegate=self
}
func webViewDidStartLoad(_ webView: UIWebView) {
self.progressView.setProgress(0.1, animated: false)
}
func webViewDidFinishLoad(_ webView: UIWebView) {
self.progressView.setProgress(1.0, animated: true)
}
func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {
self.progressView.setProgress(1.0, animated: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}