我正在制作一个加载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
,则可以改用UIWebViewDelegate
的func 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")
}
}