我必须从UIWebView迁移到WKWebView,在这方面我遇到了一些问题。看起来"WKWebView“没有成员”request“。有没有办法使用WKWebView来处理这种情况?我只需要加载网址,然后如果它包含".pdf“只显示一个按钮。
func webViewDidFinishLoad(_ webView : WKWebView) {
UIApplication.shared.isNetworkActivityIndicatorVisible = false
if (webView.request?.url!.absoluteString)!.range(of: ".pdf") != nil {
pdfBackButton.isHidden = false
}
else {
pdfBackButton.isHidden = true}
}发布于 2016-11-23 17:52:46
将"WebKit"框架添加到类中。
override func viewDidLoad() {
super.viewDidLoad()
let myWebView:WKWebView = WKWebView(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height))
myWebView.navigationDelegate = self;
let url = URL(string: "https://www.Apple.com")!
myWebView.load(URLRequest(url: url))
self.view.addSubview(myWebView)
}然后实现WKNavigationDelegate方法
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
UIApplication.shared.isNetworkActivityIndicatorVisible = false
let url = webView.url
print(url as Any) // this will print url address as option field
if url?.absoluteString.range(of: ".pdf") != nil {
pdfBackButton.isHidden = false
print("PDF contain")
}
else {
pdfBackButton.isHidden = true
print("No PDF Contain")
}
}希望这能对你有所帮助!
发布于 2016-11-23 02:25:42
您可以实现WKNavigationDelegate webView(_:didFinish:)函数。
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
UIApplication.shared.isNetworkActivityIndicatorVisible = false
let url = webView.url
if url?.absoluteString.range(of: ".pdf") != nil {
pdfBackButton.isHidden = false
}
else {
pdfBackButton.isHidden = true
}
}https://stackoverflow.com/questions/40746654
复制相似问题