我在Webviewcontroller中打开链接。我在webview控制器上创建了一个按钮,用于在Safari浏览器中打开该链接。我面临的问题是当我在web视图控制器中完全加载之前打开url时,它在Safari浏览器中成功打开。但是当URL完全加载到webview控制器中时,它不会打开Safari Broswer。
我的代码是:
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.actionSheet)
alertController.addAction(UIAlertAction(title: NSLocalizedString("Open in Safari", comment: ""), style: .default, handler: { (UIAlertAction) -> Void in
self.openInSafari()
}))
if (UIDevice.current.userInterfaceIdiom == .phone){
alertController.addAction(UIAlertAction(title: NSLocalizedString("Cancel",comment: ""), style: .cancel, handler:nil))
}
打开Safari浏览器的功能:
func openInSafari(){
if #available(iOS 10.0, *) {
UIApplication.shared.open(URL(string: self.currentUrl)!, options: [:],completionHandler: nil)
} else {
UIApplication.shared.openURL(URL(string: self.currentUrl)!)
}
}
截图:
答案 0 :(得分:0)
请尝试一次:
guard let url = URL(string: self.currentUrl) else {
return //be safe
}
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}