gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 07:10:54 26 4
gpt4 key购买 nike

我是 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 上打开超链接。检查this出去。您需要使用 webView:shouldStartLoadWith 委托(delegate)方法。请记住在您的 View Controller 或 Storyboard 中设置 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
}

关于ios - 从 iOS 应用程序在浏览器中打开超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44996594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com