ios - Swift - 以模态方式打开 WebView 链接

标签 ios xcode swift uiwebview

所以我有一个显示页面的 WebView ,我想在一个包含 WebView 的新 View Controller 中以模态方式打开任何链接(就像 twitter 和 Facebook 那样)。

我已经弄清楚如何获取点击链接的 url:

func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    let youClicked = request.URL!
    print(youClicked)
    return true
}

但我还没有弄清楚如何将这个值传递到另一个页面上的 Web View 并将该 View Controller 以弹出窗口的形式呈现。

有什么想法吗?

最佳答案

Apple Developer Documentation 查看 SFSafariViewController

为了实现您必须导入 SafariServices 的解决方案,然后...

  1. 声明一个 Safari View Controller

    let destination: NSURL = NSURL(string: "http://desappstre.com ")!

    让 safari 浏览器:SFSafariViewController = SFSafariViewController(URL: destination)

  2. 从您当前的 View Controller 转到在步骤 1 中声明的 safari View Controller

    self.presentViewController(safari, animated: true, completion: nil)

如果您需要控制 HTTP 事件,您可以在目标 View Controller 中使用 SFSafariViewControllerDelegate

关于ios - Swift - 以模态方式打开 WebView 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37996863/

相关文章:

ios - UIStepper - 从 NSUserDefaults 设置值

javascript - Android 和 iOS Webview 中 html 和 javascript 文件的安全性

iphone - 如何在 IOS 中从 NSDictionary 获取图像数组

iphone - 在启动时加载 plist 需要很长时间。如何显示事件指标?

ios - 如何在 UIScrollView 中正确放置不可滚动的 UITableView?

ios - Swift/XCode 与 Kingfisher - 无法从 Web 加载图像

ios - 如何给带有圆角的UIView添加内阴影

ios - swift生成透明背景二维码

ios - 如何在 iOS 的不同语言环境中格式化日期范围(只有一年字符串)?

objective-c - 如何使用桥接头将 Objective-C cocoapod 导入 Swift