Swift如何在Webview中打开链接?

Sim*_*ski 6 button hyperlink webview ios swift

我无法找到解决方案.我希望你能帮助我.我想要带有超链接的按钮在第二个屏幕上打开webview中的网站.Hyperlink在safari中打开,我希望它在webview的第二个屏幕上打开.谢谢

Raj*_*jat 8

您可以使用SFSafariViewController在您的应用程序中打开链接,这是代码

首先,您需要导入SafariServices

import SafariServices
Run Code Online (Sandbox Code Playgroud)

然后在按钮动作上,你可以打开 SFSafariViewController

对于swift 3.0

let svc = SFSafariViewController(url: URL(string:"http://stackoverflow.com")!)
self.present(svc, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)


Gur*_*ngh 6

斯威夫特 4.1 和斯威夫特 5。如果应用程序内有一些链接,那么它将在 safari 中打开,因此要在同一 webview 中打开链接,请实现以下navigationDelegate fo WKWebView

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
     if navigationAction.navigationType == WKNavigationType.linkActivated {
        webView.load(navigationAction.request)
        decisionHandler(.cancel)
        return
     }
     decisionHandler(.allow)
}
Run Code Online (Sandbox Code Playgroud)