Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios WKWebView链接不工作_Ios_Swift_Wkwebview - Fatal编程技术网

Ios WKWebView链接不工作

Ios WKWebView链接不工作,ios,swift,wkwebview,Ios,Swift,Wkwebview,我已经建立了一个SwiftiOS应用程序,其唯一目的是在WKWebView的帮助下显示网站。 这可以正常工作,但按链接(例如在[mailto://code>按钮上)不起作用,因为它无法打开任何内容 有人能解决这个问题吗 我读了很多关于解决这个问题的书,但我不知道从哪里开始 谢谢你的帮助 [更新: 下面的代码显示了解决方案 您必须实现以下方法(WebKit的一部分),该方法可用于解析此类URL: func webView(webView: WKWebView, decidePolicyForNav

我已经建立了一个
Swift
iOS应用程序,其唯一目的是在WKWebView的帮助下显示网站。

这可以正常工作,但按链接(例如在
[mailto://code>按钮上)不起作用,因为它无法打开任何内容

有人能解决这个问题吗

我读了很多关于解决这个问题的书,但我不知道从哪里开始

谢谢你的帮助

[更新:

下面的代码显示了解决方案


您必须实现以下方法(WebKit的一部分),该方法可用于解析此类URL:

func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void)
其思想是编写if语句,在通过决定之前检查特定的URL类型。更多信息请点击此处:

请记住,在Swift 3中,代理的某些语法已略有更改-这是在使用教程时要记住的。如果你已经找到了这个,但是你遇到了一个错误-发布你的代码


编辑:这只是对偶然发现这个问题的其他人的更新。请记住,您需要正确的mailto格式,例如
mailto://tes@test.com
(正如OhadM在OP评论中提到的)

感谢迄今为止的帮助,我找到了您发布的GitHub示例,但我不确定如何、在哪里放置它以及如何使用它it@ChrisNeumaier您必须在使用WebKit的ViewController中使用它。开始在类中键入它,Xcode将帮助您处理代码框架。该方法已经作为WebKit的一部分存在,就像viewDidLoad是UIKit的一部分一样。decidePolicyForNavigationAction帮助您决定如何处理URL我用我的ViewController更新了我的原始帖子,我使用了您建议的功能,但我无法让它工作properly@ChrisNeumaier您至少应该将您的实现放在您发布的代码中。如果没有这个功能,你将无法让它工作,如果你不显示,我看不出你做错了什么us@ChrisNeumaier我很高兴你明白了——我在你的帖子下面看到了你的其他评论。我会用格式提示更新我的答案(以防有人无意中发现这一点)看起来不错。你调试过decidePolicyForNavigationAction吗?例如url?基本上你只需要mailto://tes@你刚刚解决了这个问题。下面的答案是正确的方法,上面的代码显示了解决方案。我唯一的问题是mailto:链接的格式不正确!谢谢大家
func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void)