Swift - 在应用程序中打开网页,按钮没有反应

Posted

技术标签:

【中文标题】Swift - 在应用程序中打开网页,按钮没有反应【英文标题】:Swift - open web page in app, button doesn't react 【发布时间】:2015-01-18 14:03:06 【问题描述】:

我创建了一个从应用程序拨打电话的按钮:

   @IBAction func callButton(sender: AnyObject) 
    if (PhoneNumber != "")
    UIApplication.sharedApplication().openURL(NSURL(string: "telprompt://\(PhoneNumber)")!)
    

它工作得很好。当我想打开一个网页时会发生奇怪的事情。我使用几乎完全相同的代码

    @IBAction func openWeb(sender: AnyObject) 
    UIApplication.sharedApplication().openURL(NSURL(string: "www.google.com")!)

但是这个时间按钮没有反应,什么也没有发生。无论我在哪里寻找有关从应用程序中打开 safari 网页的信息,代码都是这样编写的。你知道问题出在哪里吗?

提前致谢!

【问题讨论】:

您在第二次尝试时忘记添加 URL 方案。 【参考方案1】:

缺少网址方案

UIApplication.shared.open(URL(string: "http://www.google.com")!, options: [:], completionHandler: nil)

【讨论】:

【参考方案2】:

Swift 4,安全解包可选,检查是否 canOpenURL

if let url = URL(string: "https://www.google.com"),
        UIApplication.shared.canOpenURL(url) 
            UIApplication.shared.open(url, options: [:])

【讨论】:

【参考方案3】:

Swift 3 版本

UIApplication.shared.openURL(NSURL(string: "http://google.com")! as URL)

【讨论】:

如果您需要更安全的方法,请在调用 openURL 之前进行检查 --> UIApplication.shared.canOpenURL(url)【参考方案4】:

ios 10 开始更新 Swift 3.0 版本

let googleURL = NSURL(string: "www.google.com")! as URL
UIApplication.shared.open(googleURL, options: [:], completionHandler: nil)

【讨论】:

【参考方案5】:

Swift 4.2.1、iOS 10 及更高版本

UIApplication.shared.open(URL(string: "https://google.com")!, options: [:], completionHandler: nil)

【讨论】:

以上是关于Swift - 在应用程序中打开网页,按钮没有反应的主要内容,如果未能解决你的问题,请参考以下文章

网页不能用鼠标滚轮控制滚动条 我鼠标滚轮上下滚动。。但网页没反应。这是怎么回事。。怎么修复。。

【急】【狗不答问题】点击网页中的超链接按钮没用是怎么回事? 赏金:200

chrome浏览器,iframe中的按钮点击后用window.open打开新网页,导致原网页布局出问题。

怎么提取网页中的按钮链接。 一个投票界面,很多选项按钮。怎么能把其中一个按钮单独提出作为网址链接?

dwz 手动点击一个按钮打开一个tab后,再点击按钮就没反应了

提交登录按钮时,我的网页没有任何反应