从iOS应用程序在浏览器中打开超链接

从iOS应用程序在浏览器中打开超链接,ios,swift,Ios,Swift,我是iOS开发新手。我用超链接创建了一个基本的html页面。我使用以下代码将html页面转换为应用程序 class ViewController: UIViewController, UIWebViewDelegate { @IBOutlet weak var lupView: UIWebView! override func viewDidLoad() { super.viewDidLoad() // Do any additional set

我是iOS开发新手。我用超链接创建了一个基本的html页面。我使用以下代码将html页面转换为应用程序

class ViewController: UIViewController, UIWebViewDelegate {

    @IBOutlet weak var lupView: UIWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        lupView.loadRequest(URLRequest(url: Bundle.main.url(forResource: "lup_package/lup/index", withExtension: "html")!))


    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

当我将它构建到iPad Air上时,一切都很好。但当我点击超链接时,目标网站正在应用程序中打开。我希望它能在浏览器中打开。请帮助我实现这一点,如果您能向我解释这是否有效,那将是一件非常棒的事情。

如果您只是想使用Safari打开url,以下内容应该会有所帮助

if let url = URL(string: "https://www.google.com") {
    UIApplication.shared.open(url, options: [:])
}
如果您想使用Safari在WebView上打开超链接。退房您需要使用
webView:shouldStartLoadWith
delegate方法。记住在视图控制器或情节提要中设置
lupView.delegate=self

    func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {

        if navigationType == .linkClicked {
            // Open links in Safari
            guard let url = request.url else { return true }

            if #available(iOS 10.0, *) {
                UIApplication.shared.open(url, options: [:], completionHandler: nil)
            } else {
                // openURL(_:) is deprecated in iOS 10+.
                UIApplication.shared.openURL(url)
            }
            return false
        }

        // Handle other navigation types...
        return true
    }

我在html文档中有一个超链接,点击google.com“>点击这里进入谷歌。编辑了我的答案