如何在导航栏下方加载 UIWebView 直到 StatusBar

Posted

技术标签:

【中文标题】如何在导航栏下方加载 UIWebView 直到 StatusBar【英文标题】:How to load UIWebView underneath Navigation bar until StatusBar 【发布时间】:2018-04-12 04:22:14 【问题描述】:

您好,我有一个 VC 和一个 UIWebView 和一个 NavigationBar。当我将 webview.Top 的 Top Constraint 设置为 Superview 并将常量设置为 0 时,Web 视图直到状态栏才会加载,而只会加载到导航栏。为什么会这样?见下图。

然后,如果我将 webView.Top 设置为 SuperView 常量为 -60。我会得到我理想的输出。但我认为这不是正确的方法。谁能给点建议。

理想的输出:

【问题讨论】:

我面临同样的问题... 加载数据时会显示额外的空间,加载后会消失。对吗? 使用 activityindicator 加载它可能会有所帮助。 你能提供你在网页视图中使用的链接吗? github.com/hansheung/SFITNESS/tree/… 【参考方案1】:

为什么要将顶部约束设置为 Superview?将顶部约束设置为 0 到导航栏。它会正常工作

【讨论】:

但是我希望将 Web 视图加载到状态栏,这样可以吗? @HansheungCheah 我听不懂,如果你想将网页视图显示到状态栏,那么你可以删除导航栏,如果导航栏在那里,那么你需要将顶部约束设置为导航栏,如果导航栏有返回按钮,则可以返回首页。 @HansheungCheah 如果无法移除导航栏,则隐藏导航栏,并添加自己的后退导航按钮 隐藏导航:navigationController?.navigationBar.isHidden = true 后退操作:navigationController?.popViewController(animated: true)【参考方案2】:

我将 webView 顶部约束推到 -45 到 SuperView。这会将webView 向上推。

我找不到任何其他答案。

【讨论】:

-20 也足够了。不需要 -45。【参考方案3】:

使用 superview 更改约束应该可以工作,它已附加到某些视图。但是,您需要取消选中情节提要中的 Adjust scrollView Insets

您需要处理 ios 11 的特殊情况

【讨论】:

以上是关于如何在导航栏下方加载 UIWebView 直到 StatusBar的主要内容,如果未能解决你的问题,请参考以下文章

如何避免带有缺口的设备上 UICollectionView 搜索栏下方的空白?

如何在 UISplitViewController 的导航栏下方添加搜索栏?

如何将我的 React 组件放置在导航栏下方(这样导航栏不会与它重叠)?

如何更改导航栏下方的边框颜色?

导航栏下方的工具栏(?) - iPhone

如何以编程方式在导航栏正下方添加视图?