如何将 SFSafariViewController 设置为 UISplitViewController 的细节控制器?

How can SFSafariViewController be setup as the Detail Controller for UISplitViewController?

从文档和所有示例看来,我发现 SFSafariViewController 必须使用特定 URL 作为设置参数以编程方式实例化。是否可以使用 SFSafariViewController 作为 UISplitViewController 的细节控制器?我能想到的唯一方法是在故事板中设置一个 segue,但在那种情况下,SFSafariViewController 将没有显示其内容所需的 URL。任何有关如何以编程方式完成此操作的建议,如果可能的话,将不胜感激。

有可能!我搜索了很长时间,找到了解决方案。 我在我的主视图控制器中执行此操作,一个 Table 视图控制器。 如果我 select 我的 Table 视图的一个单元格,将在详细视图中打开 SafariViewController。

let safariViewController = SFSafariViewController(URL: NSURL(String: "http://google.com"))
self.showDetailViewController(safariViewController, sender: nil) 

结果:Safari View Controller Detail

它有一些问题。

  • 您应该使用 iOS 9.1 或更高版本来避免此 UI 错误:UI Bug Safari View Controller

  • 如果你想看到标准的 safari 视图控制器栏(URL,...)你应该隐藏导航栏