Swift UIWebView 的 onfinish 加载事件
Swift onfinish load event of a UIWebView
我正在使用以下代码从我的服务器加载 WebView
中的 pdf:
webView = UIWebView(frame: CGRectMake(0, y, screenSize.width, screenSize.height-y))
let url : NSURL! = NSURL(string: urlFile)
webView?.loadRequest(NSURLRequest(URL: url))
webView?.opaque = false;
webView?.backgroundColor = UIColor.clearColor()
webView?.scalesPageToFit = true;
self.view.addSubview(webView!)
此代码有效,但我如何接收事件 "onPageLoad"?
抱歉英语不好,我是意大利人(:
在webView?.loadRequest(NSURLRequest(URL: url))
之后,将webView
设置为self
(写下一行)。
webView.delegate = self
实施 webview delegate 方法。
您将在 func webViewDidFinishLoad(_ webView: UIWebView)
完成页面加载后收到回调。
func webViewDidFinishLoad(webView: UIWebView) {
//handle the callback here when page load completes
}
您需要像这样实现 UIWebViewDelegate
并使用 webViewDidFinishLoad
知道页面加载成功,为此设置 webView
delegate
与您的 viewController
像这样,并在你的 viewController
中实现 webViewDidFinishLoad
方法,如下例所示。
import UIKit
class ViewController: UIViewController, UIWebViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
webView = UIWebView(frame: CGRectMake(0, y, screenSize.width, screenSize.height-y))
let url : NSURL! = NSURL(string: urlFile)
webView?.loadRequest(NSURLRequest(URL: url))
webView?.opaque = false;
webView?.backgroundColor = UIColor.clearColor()
webView?.scalesPageToFit = true;
webView?.delegate = self// Add this line to set the delegate of webView
self.view.addSubview(webView!)
}
func webViewDidFinishLoad(webView : UIWebView) {
//Page is loaded do what you want
}
}
只需将 effective
与 ;
一起使用
func webViewDidFinishLoad(webView : UIWebView) {
// Here your loaded codes.
}
如果有人正在寻找 WKWebView 的解决方案,请实施 WKNavigationDelegate:
添加webView.navigationDelegate = self
然后使用:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
}
我正在使用以下代码从我的服务器加载 WebView
中的 pdf:
webView = UIWebView(frame: CGRectMake(0, y, screenSize.width, screenSize.height-y))
let url : NSURL! = NSURL(string: urlFile)
webView?.loadRequest(NSURLRequest(URL: url))
webView?.opaque = false;
webView?.backgroundColor = UIColor.clearColor()
webView?.scalesPageToFit = true;
self.view.addSubview(webView!)
此代码有效,但我如何接收事件 "onPageLoad"? 抱歉英语不好,我是意大利人(:
在webView?.loadRequest(NSURLRequest(URL: url))
之后,将webView
设置为self
(写下一行)。
webView.delegate = self
实施 webview delegate 方法。
您将在 func webViewDidFinishLoad(_ webView: UIWebView)
完成页面加载后收到回调。
func webViewDidFinishLoad(webView: UIWebView) {
//handle the callback here when page load completes
}
您需要像这样实现 UIWebViewDelegate
并使用 webViewDidFinishLoad
知道页面加载成功,为此设置 webView
delegate
与您的 viewController
像这样,并在你的 viewController
中实现 webViewDidFinishLoad
方法,如下例所示。
import UIKit
class ViewController: UIViewController, UIWebViewDelegate {
override func viewDidLoad() {
super.viewDidLoad()
webView = UIWebView(frame: CGRectMake(0, y, screenSize.width, screenSize.height-y))
let url : NSURL! = NSURL(string: urlFile)
webView?.loadRequest(NSURLRequest(URL: url))
webView?.opaque = false;
webView?.backgroundColor = UIColor.clearColor()
webView?.scalesPageToFit = true;
webView?.delegate = self// Add this line to set the delegate of webView
self.view.addSubview(webView!)
}
func webViewDidFinishLoad(webView : UIWebView) {
//Page is loaded do what you want
}
}
只需将 effective
与 ;
func webViewDidFinishLoad(webView : UIWebView) {
// Here your loaded codes.
}
如果有人正在寻找 WKWebView 的解决方案,请实施 WKNavigationDelegate:
添加webView.navigationDelegate = self
然后使用:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
}