我正在创建一个加载UIWeb视图的应用程序,并在网页完全加载时运行一行代码。
我使用这样的代码加载网页:
let links = URL (string: "https://example.com")
let loadpage = URLRequest(url: links!)
webPage.loadRequest(load)
如何在网页完成后运行一段代码?我在线尝试了一些例子,但网页在检查是否已加载时停止加载?
谢谢!
答案 0 :(得分:1)
正如WKWebView
文档中所述,对于面向iOS8或更高版本的应用,您应该使用WKWebView
代替。
使用WKNavigationDelegate
时,您可以使您的班级符合func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)
,并且一旦网页浏览完成加载网络请求,系统就会调用委托方法UIWebView
。
如果出于某种原因,您仍然定位iOS7或之前的iOS版本并因此使用UIWebViewDelegate
,则可以使用func webViewDidFinishLoad(_ webView: UIWebView)
的{{1}}方法。
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")
}
}