首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在swift中从webView打开外部链接?

在Swift中,可以使用WKWebView来打开外部链接。下面是一个完整的示例代码:

代码语言:txt
复制
import UIKit
import WebKit

class ViewController: UIViewController, WKNavigationDelegate {
    
    var webView: WKWebView!
    
    override func loadView() {
        webView = WKWebView()
        webView.navigationDelegate = self
        view = webView
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let url = URL(string: "https://www.example.com")!
        webView.load(URLRequest(url: url))
        webView.allowsBackForwardNavigationGestures = true
    }
    
    // 处理外部链接的跳转
    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
        if navigationAction.targetFrame == nil {
            webView.load(navigationAction.request)
        }
        decisionHandler(.allow)
    }
}

这段代码创建了一个WKWebView实例,并将其设置为视图控制器的视图。然后,通过load()方法加载指定的URL,并设置allowsBackForwardNavigationGestures属性为true以启用前进和后退手势。

为了处理外部链接的跳转,我们实现了WKNavigationDelegate协议,并在decidePolicyFor方法中检查目标框架是否为空。如果为空,表示链接将在新的窗口中打开,我们通过load()方法加载该链接。

请注意,这只是一个简单的示例,你可以根据自己的需求进行扩展和定制。如果你想了解更多关于WKWebView的信息,可以参考腾讯云提供的WKWebView产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券