我可以为 Safari 视图控制器预加载网页内容吗? - 斯威夫特

Posted

技术标签:

【中文标题】我可以为 Safari 视图控制器预加载网页内容吗? - 斯威夫特【英文标题】:Can I preload the web content for Safari View Controller? - Swift 【发布时间】:2016-07-03 22:27:20 【问题描述】:

我试试这个:Can I preload the web content for Safari View Controller? 但是 SFSafariVC 上的完成按钮不起作用

let svc = SFSafariViewController(URL: NSURL(string: self.SiteURL)!)
self.presentViewController(self.svc, animated: true, completion: nil)

这是Can I preload the web content for Safari View Controller? 的快速版本(对我来说,完成按钮不工作)

let svc = SFSafariViewController(URL: NSURL(string: self.SiteURL)!)

    addChildViewController(svc)
    svc.didMoveToParentViewController(self)

    svc.view.frame = view.frame
    containerView.frame = view.frame
    containerView.backgroundColor = UIColor.redColor()
    safariView = svc.view
    view.addSubview(safariView!)
    view.addSubview(containerView)

    view.sendSubviewToBack(safariView!)

【问题讨论】:

【参考方案1】:

SFSafariViewController 的当前实现不支持此功能。您现在最好的选择是使用WKWebView 并在将其添加到层次结构之前开始加载。

【讨论】:

以上是关于我可以为 Safari 视图控制器预加载网页内容吗? - 斯威夫特的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 自定义标签会在浏览时预加载网页吗?

通过 iOS 9 登录 FB 时打开 Safari 网页视图

iOSSafari的小秘密你知道吗?

Safari View Controller 自定义大小,框架添加为子视图

通过预加载单元格提高 UITableView 性能

预加载是啥意思啊,和下载的区别是啥