2016-07-26 68 views
1

我已經檢查了活動指示器視圖設置上的行爲,並將它編碼在視圖控制器上。但仍然繼續旋轉......會出現什麼問題?Xcode 7.3.1。我的活動指示燈繼續旋轉

我加入這個

@IBOutlet var Loadebest: UIActivityIndicatorView! 

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

但沒有任何反應......可能是什麼問題呢?

+0

你把'hidesWhenStopped'設置爲'true'嗎? – njuri

+0

嘗試在主線程中停止它?更新UI ** ON **主線程,請記住? – Dershowitz123

+0

嗨@njuri,我正在使用迅捷和檢查一切,但沒有任何反應...... –

回答

0

檢查,你給委託的WebView。 如果你還沒有給委託給webview,那麼webViewDidFinishLoad不會調用,它不會隱藏微調器。

+0

是的,沒有委託....感謝提醒我。 ...!現在可以運行 –

+0

好,祝您有個愉快的編碼。 – Hasya

0

您需要設置活動指示器的屬性「停止時隱藏」。

您可以使用故事板來做到這一點,應該有一個小的複選框,在檢查器中啓用該屬性。

,或在故事板客觀C-

Loadebest.hidesWhenStopped = YES; 
+0

即時通訊使用迅速和我已經檢查了它.... :( –

1

嘗試:

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

問題是方法觸發一個以上的時間。 替換這個代碼:

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


} 

希望這有助於。