使用 self.navigationController.hidesBarsOnSwipe = true 隐藏导航栏,将其永久隐藏

Posted

技术标签:

【中文标题】使用 self.navigationController.hidesBarsOnSwipe = true 隐藏导航栏,将其永久隐藏【英文标题】:Hiding Navigation bar with self.navigationController.hidesBarsOnSwipe = true, hides it permanently 【发布时间】:2016-10-13 11:09:06 【问题描述】:

我的视图控制器中有一个UITableView 对象,我在viewDidAppear: 中添加了以下代码:

self.navigationController.hidesBarsOnSwipe = true

当我向上滚动时导航栏隐藏,但当我向下滚动时它不会回来。

我需要做点别的吗?

【问题讨论】:

试试这个链接***.com/questions/37986923/… 你能显示你的自动布局约束吗? 【参考方案1】:

默认storyboard为“Top Layout Guide.Bottom”添加tableview top约束,需要将tableview.top约束改为“View.Top”

【讨论】:

它有效,对于其他需要如何添加约束到超级视图的人,请点击此链接@***.com/questions/28766210/…【参考方案2】:

检查您的constraints 以获取tableviewtop constraint 应该是 pin with superview's top 而不是 toplayoutguide's top。我认为您已经对 toplayoutguide 设置了约束。所以,试着用superview的top改一下,你的问题就解决了。

【讨论】:

【参考方案3】:

我认为您需要取消选中顶栏下方的扩展边缘以使您的 UITableView 与 topLayourGuide 对齐。见附件

【讨论】:

以上是关于使用 self.navigationController.hidesBarsOnSwipe = true 隐藏导航栏,将其永久隐藏的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中禁用向后滑动手势

目标 c 中 UINavigationBar 右侧的 UISearchBar

在 View Controller Containment 中保留对父级的引用

iOS 右导航按钮不显示在 UINavigationBar

测试使用

第一篇 用于测试使用