我已经检查了活动指示器视图设置上的行为,并在视图控制器上对其进行了编码。。但它仍然在旋转。。。会有什么问题?
我添加了这个
@IBOutlet var Loadebest: UIActivityIndicatorView!
和这个
func webViewDidStartLoad(_ : UIWebView) {
Loadebest.startAnimating()
NSLog("Webview is working")
}
func webViewDidFinishLoad(_ : UIWebView) {
Loadebest.stopAnimating()
NSLog("Webview stopped working")
}
但什么都没发生。。。可能是什么问题?
尝试:
func webViewDidFinishLoad(_ : UIWebView) {
NSLog("Webview stopped working")
dispatch_async(dispatch_get_main_queue(),{
self.Loadebest.stopAnimating()
})
}
在序列图像板中,您已经向webview授予了委托。如果您还没有将委托给webview,那么webViewDidFinishLoad
将不会调用,也不会隐藏微调器。
您需要设置活动指示器的"停止时隐藏"属性。
您可以使用情节提要执行此操作,在检查器中应该有一个小复选框来启用此属性。
或者在目标C-中
Loadebest.hidesWhenStopped = YES;
问题是该方法多次触发。用以下代码替换您的代码:
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()
}
希望得到帮助。