iOS 9 - 在通过 SFSafariViewController 加载的网页底部隐藏工具栏

Posted

技术标签:

【中文标题】iOS 9 - 在通过 SFSafariViewController 加载的网页底部隐藏工具栏【英文标题】:iOS 9 - hide toolbar at bottom of web page loaded via SFSafariViewController 【发布时间】:2015-12-08 01:37:24 【问题描述】:

我试图隐藏出现在使用 SFSafariViewController 加载 URL 的页面底部的导航工具栏(返回和前进,在 safari 中打开...)。 我尝试在导航控制器上设置以下属性,但它不起作用/ [_safariViewController.navigationController setToolbarHidden:YES]; 当使用使用 UIWebView 类的视图控制器时,我可以隐藏它。有什么建议吗?

谢谢

【问题讨论】:

【参考方案1】:

你可以做的是调整SafariViewController的框架。

let safari = SFSafariViewController(url: URL(string: "https://wwww.google.co.nz")!)
self.present(safari, animated: true) 
    let frame = safari.view.frame
    frame.size = CGSize(width: frame.width, height: frame.height + 44.0)
    safari.view.frame = frame

【讨论】:

对于 ios 13,这会将顶部栏向上移动并与状态栏重叠。【参考方案2】:

根据 Apple 关于 SFSafariViewController 的文档,似乎没有公开可访问的方式来隐藏“完成”按钮或 URL 栏。如果您需要自定义浏览器界面,Apple 建议您使用 WKWebView。

有一个关于 WKWebView 的 AppCoda 教程,向您展示了如何创建一个带有嵌入式 WKWebView 的 ViewController。希望对您有所帮助!

【讨论】:

以上是关于iOS 9 - 在通过 SFSafariViewController 加载的网页底部隐藏工具栏的主要内容,如果未能解决你的问题,请参考以下文章