【发布时间】:2019-05-19 13:58:41
【问题描述】:
我将UIWebView 设置为ViewController 中的视图。我想在网页加载时显示SVProgressHUD 活动指示器,然后在完成后将其关闭,但我似乎无法让它工作。网页加载正常,但指示器从未显示。
我知道SVProgressHUD 设置正确且功能正常,但不在我拥有的功能中。
我相信因为我实际上在 IB 的场景中没有 UIWebView,而是 ViewController 将视图设置为 UIWebView,所以我使用的代码无法定位它。如果我错了,请纠正我。
这是我的代码:
import UIKit
import SVProgressHUD
class ViewController: UIViewController, UIWebViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
if let url = URL(string: "https://www.google.com") {
let webView = UIWebView(frame: self.view.frame)
let urlRequest = URLRequest(url: url)
webView.loadRequest(urlRequest as URLRequest)
webView.scalesPageToFit = true;
webView.scrollView.showsHorizontalScrollIndicator = false;
webView.scrollView.showsVerticalScrollIndicator = false;
self.view.addSubview(webView)
}
}
func webViewDidStartLoad(_ webView: UIWebView) {
SVProgressHUD.show()
}
func webViewDidFinishLoad(_ webView: UIWebView) {
SVProgressHUD.dismiss()
}
func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {
SVProgressHUD.dismiss()
}
}
非常感谢任何帮助。
【问题讨论】:
-
为 webView 设置代理
webview.delegate = self
标签: ios swift uiview uiwebview svprogresshud