我想通过单击按钮转到URL。我尝试使用“ UISharedapplication”以及通过下面提到的方法,但没有用。请帮忙。 谢谢。
@IBAction func Displayurl(_ sender: Any) {
UIApplication.shared.canOpenURL(NSURL (string: "http://www.apple.com")! as URL)
}
答案 0 :(得分:4)
问题是UIApplication
的{{1}}方法仅返回是否可以打开URL ,而实际上并未打开URL 。一旦确定是否可以打开URL(通过调用canOpenURL()
,然后完成操作),就必须在共享的canOpenURL()
实例上调用open()
,以实际打开URL。如下所示:
UIApplication
open()
还接受带有单个if let url = URL(string: "http://www.apple.com") {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:])
}
}
参数的可选completionHandler
参数,您可以选择使用该参数来确定URL是否成功打开。
答案 1 :(得分:3)
canOpenURL(_:)
方法用于是否有已安装的应用程序可以处理url方案。要打开指定URL的资源,请使用open(_:options:completionHandler:)
方法。例如
if let url = URL(string: "apple.com") {
if UIApplication.shared.canOpenURL(url) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
}
有关更多信息,请查看https://developer.apple.com/documentation/uikit/uiapplication/1622961-openurl此处的文档