我正在使用PKHUD生成一个微调器来加载,以便用户知道应用程序正常工作而不是仅仅冻结。
我必须加载其他网页作为应用程序功能的一部分。
最好是在加载网页时整个时间都有微调器。
目前我有微调器正常工作,但它在实际webview加载时(因此当网站开始加载时)解散 - 我希望在网站完成加载时发生这种情况。
这是我的代码:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
HUD.show(.labeledProgress(title: "Loading Webview", subtitle: nil))
self.navigationController?.setToolbarHidden(true, animated: true)
userInfoUpdater.startPolling(closure: self.userUpdated(user:))
}
func webViewDidFinishLoad(webView : UIWebView) {
HUD.hide()
}
那么我需要将HUD.hide()放入哪个事件?我对原生iOS开发相对较新,所以我不确定每个潜在的事件是什么。
func webViewDidFinishLoad(webView : UIWebView) {
//Check here if still webview is loding the content
if webView.isLoading {
return
}
//executes after page finished loading
NSLog(@"WebView loading finished");
HUD.hide()
}
webViewDidFinishLoad多次触发,首先是渲染第一帧,依此类推。页面加载完成后,webView.isLoading
将变为false。