如何将SFSafariViewController设置为UISplitViewController的Detail Controller?

SAH*_*AHM 6 detailsview master-detail uisplitviewcontroller ios sfsafariviewcontroller

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

Thi*_* B. 6

这是可能的 !我搜索了很长时间,我找到了解决方案.我在我的主视图控制器,表视图控制器中执行此操作.如果我选择表格视图的单元格,则会在详细视图中打开SafariViewController.

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

结果:Safari View Controller Detail

它带来了一些问题.

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

  • 如果要查看标准的safari视图控制器栏(带URL,...),则应隐藏导航栏

  • 在这种情况下是否有任何隐藏的完成按钮?还是将其替换为“ displayModeButtonItem”? (2认同)