我已经检查了活动指示器视图设置上的行为,并将其编码在视图控制器上。但它仍在继续旋转......会出现什么问题?
我添加了这个
@IBOutlet var Loadebest: UIActivityIndicatorView!
和这个
func webViewDidStartLoad(_ : UIWebView) {
Loadebest.startAnimating()
NSLog("Webview is working")
}
func webViewDidFinishLoad(_ : UIWebView) {
Loadebest.stopAnimating()
NSLog("Webview stopped working")
}
但没有任何反应......可能是什么问题?
答案 0 :(得分:1)
尝试:
func webViewDidFinishLoad(_ : UIWebView) {
NSLog("Webview stopped working")
dispatch_async(dispatch_get_main_queue(),{
self.Loadebest.stopAnimating()
})
}
答案 1 :(得分:0)
你需要设置属性"隐藏时隐藏"活动指标。
您可以使用故事板执行此操作,应该有一个小复选框,可以在检查器中启用此属性。
或在目标C -
Loadebest.hidesWhenStopped = YES;
答案 2 :(得分:0)
检查故事板,您已将代表委托给webview。
如果您还未授权给webview,那么webViewDidFinishLoad
将无法调用,也不会隐藏微调器。
答案 3 :(得分: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()
}
希望得到这个帮助。