试图找到适合在Swift中解雇一个微调器的事件

时间:2018-01-02 15:33:23

标签: ios swift webview

我正在使用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开发相对较新,所以我不确定每个潜在的事件是什么。

1 个答案:

答案 0 :(得分:0)

 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。