【问题标题】:activity indicator not hiding when webpage has loaded网页加载后活动指示器不隐藏
【发布时间】:2019-02-05 07:24:18
【问题描述】:

在 xCode 中,我同时添加了活动指示器和 UIWebView 方面,但是在网页加载后活动指示器不会隐藏。这是代码,有什么提示可以让它工作吗?

 override func viewDidLoad(){
        super.viewDidLoad()
        Videoview.delegate = self as? UIWebViewDelegate;
        loadAdress()
    }
    func loadAdress()  {
        let requestURL = NSURL(string: "https://twitter.com/")
        let request = NSURLRequest(url: requestURL! as URL)
        Videoview.loadRequest(request as URLRequest)
    }
    func webViewDidStartLoad(_  : UIWebView)  {
        ActvityView.startAnimating()
        NSLog("The webview is started loading")
    }
    func webViewDidStopLoad(_  : UIWebView)  {
        ActvityView.stopAnimating()
        ActvityView.isHidden=true;
        NSLog("The webview is done loading")

    }
    func WebViewActvityStopError(_ : UIWebView, didFailLoadWithError error: Error){
        ActvityView.stopAnimating()
        ActvityView.isHidden=true;
        print("Webview fail with error \(error)");
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

谢谢:)

【问题讨论】:

  • 您错过了 webViewDidFinishLoad 委托方法。

标签: ios iphone xcode uiwebview uiactivityindicatorview


【解决方案1】:

首先你不应该使用UIWebView,它已被弃用。而不是UIWebView 使用WKWebView

停止UIActivityIndicator使用WKWebView委托方法

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
     DispatchQueue.main.async {
       // Hide activity indicator here
     }
}

您需要点击此链接:WKWebView

【讨论】:

  • 您好,感谢您的回复,但不幸的是,在添加该内容并将 UIWebView 更改为 WKWebView 后,它似乎对指标没有任何影响。我会发送更新的代码,但它似乎无法通过 stackoverflow 正确格式化。你知道是否还有其他可能对代码产生影响的东西?感谢您在任何方面的帮助:)
  • 实现 WKWebView 类似于实现 UIWebView。我会更新我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多