加载网页时,活动指示器不会隐藏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加载网页时,活动指示器不会隐藏相关的知识,希望对你有一定的参考价值。

在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()
    }
}

谢谢 :)

答案

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

要停止UIActivityIndicator使用WKWebView委托方法

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

您需要点击此链接:WKWebView

以上是关于加载网页时,活动指示器不会隐藏的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 加载网页时 UIActivityIndi​​cator 没有动画或隐藏

无法在 API 调用结束时隐藏活动指示器

在 SwiftUI 中加载网站时加载活动指示器

SFSafariViewController 在推入 UINavigationController 时隐藏网络活动指示器

如何隐藏和显示加载微调器 - 活动指示器反应原生,管理道具和状态

在状态栏中隐藏活动指示器[重复]