Ios 代码7.3.1。我的活动指示器一直在旋转

Ios 代码7.3.1。我的活动指示器一直在旋转,ios,swift,uiwebview,uiactivityindicatorview,xcode7.3,Ios,Swift,Uiwebview,Uiactivityindicatorview,Xcode7.3,我已经检查了“活动指示器视图”设置的行为,并将其编码到视图控制器上。但它仍然在旋转…会出现什么问题 我加了这个 @IBOutlet var Loadebest: UIActivityIndicatorView! 还有这个 func webViewDidStartLoad(_ : UIWebView) { Loadebest.startAnimating() NSLog("Webview is working") } func webViewDidFinishLoad(_ : U

我已经检查了“活动指示器视图”设置的行为,并将其编码到视图控制器上。但它仍然在旋转…会出现什么问题

我加了这个

@IBOutlet var Loadebest: UIActivityIndicatorView!
还有这个

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

但是什么也没发生……可能是什么问题?

您需要设置活动指示器的属性“停止时隐藏”

您可以使用故事板执行此操作,在inspector中应该有一个小复选框来启用此属性

还是在目标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()


}

希望对您有所帮助。

您是否将
隐藏设置为
true
?尝试在主线程中停止它?更新主线程上的UI,记得吗?嗨@njuri,我正在使用swift并检查所有内容,但什么都没有发生……很好,祝您编码愉快。