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 加载的网页底部隐藏工具栏的主要内容,如果未能解决你的问题,请参考以下文章
更新到 iOS 9.3.1 后无法通过 iTunes 安装 .ipa
通过 iOS 9 登录 FB 时打开 Safari 网页视图
iOS 8 和 9 iPad 使用 UIActivityViewController 通过 Twitter 共享对话框在 60 秒内以 viewServiceDidTerminateWithError