检查 UIWebView 是否已在 Swift 中完成加载



我正在制作一个加载UIWeb视图并在网页完全加载时运行一行代码的应用程序。

我正在使用这样的代码来加载网页:

    let links = URL (string: "https://example.com")
    let loadpage = URLRequest(url: links!)
    webPage.loadRequest(load)

如何在网页完成的那一刻运行一段代码?我在网上尝试了一些示例,但网页在检查是否已加载时停止加载?

谢谢!

UIWebView 的文档中所述,对于面向 iOS8 或更高版本的应用程序,您应该改用WKWebView

使用 WKWebView 时,可以使类符合WKNavigationDelegate,并且在 Web 视图完成加载网络请求后将调用委托方法func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)

如果由于某种原因您仍然针对iOS7或任何以前的iOS版本,因此使用UIWebView,则可以改用UIWebViewDelegatefunc webViewDidFinishLoad(_ webView: UIWebView)方法。

UIWebView解决方案的框架代码:

class WebVC: UIViewController {
    @IBOutlet weak var webView: UIWebView!
    override func viewDidLoad() {
        webView.delegate = self
        let url = URL(string: "https://example.com")
        let request = URLRequest(url: url)
        webView.loadRequest(request)
    }
}
extension WebVC: UIWebViewDelegate {
    func webViewDidFinishLoad(_ webView: UIWebView) {
        print("Finished loading")
    }
}

相关内容

  • 没有找到相关文章

最新更新