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

activity indicator not hiding when webpage has loaded

提问人:Gryph 提问时间:8/30/2018 最后编辑:Pratik SodhaGryph 更新时间:8/30/2018 访问量:346

问:

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

谢谢:)

iOS iPhone Xcode UI网页视图 UIAactivityIndicatorView

评论

0赞 Bmacin 8/30/2018
缺少 webViewDidFinishLoad 委托方法。

答:

1赞 Sunny 8/30/2018 #1

首先,你不应该使用它,它被弃用了。代替使用UIWebViewUIWebViewWKWebView

停止使用委托方法UIActivityIndicatorWKWebView

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

您需要点击此链接:WKWebView

评论

0赞 Gryph 8/30/2018
嗨,感谢您的回复,但不幸的是,在添加该内容并将 UIWebView 更改为 WKWebView 后,它似乎对指标没有任何影响。我会发送更新的代码,但是它似乎无法通过stackoverflow正确格式化。您知道是否还有其他可能对代码产生影响的东西吗?感谢您在任何方面的帮助:)
0赞 Sunny 8/30/2018
实现 WKWebView 类似于实现 UIWebView。我会更新我的答案。