Xcode 7.3.1。我的 activity 指标一直在旋转

Xcode 7.3.1. My activity indicator keeps on spinning

我已经检查了 activity 指示器视图设置的行为并在视图控制器上对其进行了编码。但它仍然在旋转...会出现什么问题?

我添加了这个

@IBOutlet var Loadebest: UIActivityIndicatorView!

还有这个

func webViewDidStartLoad(_ : UIWebView) {
    Loadebest.startAnimating()
    NSLog("Webview is working")
}
func webViewDidFinishLoad(_ : UIWebView) {
    Loadebest.stopAnimating()
    NSLog("Webview stopped working")
}

但是没有任何反应...可能是什么问题?

您需要设置 activity 指标的 属性 "hides when stopped"。

您可以使用情节提要来执行此操作,在检查器中应该有一个启用此 属性 的小复选框。

或在objective C-

Loadebest.hidesWhenStopped = YES;

检查情节提要,您已将委托委托给 webview。 如果您还没有给 webview 委托,那么 webViewDidFinishLoad 将不会调用,也不会隐藏微调器。

尝试:

func webViewDidFinishLoad(_ : UIWebView) {
  NSLog("Webview stopped working")
  dispatch_async(dispatch_get_main_queue(),{
    self.Loadebest.stopAnimating()
  })
}

问题是该方法触发了不止一次。 用这个替换你的代码:

 private var webViewsload = 0

 func webViewDidStartLoad(webView: UIWebView) {

    self.navigationItem.title = LangData.get("WEB_VIEW_LOADING")
    webViewsload += 1
    self.updateButtons()

}

func webViewDidFinishLoad(webView: UIWebView) {
    webViewsload -= 1;
    activitiIndicator.stopAnimating()


    if (webViewsload == 0) {
        self.navigationItem.title = webView.stringByEvaluatingJavaScriptFromString("document.title");
    }
    self.updateButtons()


}

希望对您有所帮助。