NavigationBar 在运行时隐藏视图,但不在 Interface Builder 中

Posted

技术标签:

【中文标题】NavigationBar 在运行时隐藏视图,但不在 Interface Builder 中【英文标题】:NavigationBar hides View while runtime but not in Interface Builder 【发布时间】:2014-06-05 15:56:04 【问题描述】:

我使用 Interface Builder 设置了一个 tableView,并在 TableView 上方放置了一个红色 View,如下所示:

但是在运行时红色视图会被导航栏隐藏,所以我必须像这样使用 Autolayout 设置约束:

但这不可能是正确的......我做错了什么?

我的帮助的更多信息:

【问题讨论】:

【参考方案1】:

这是因为 ios7 允许在其下方显示视图。您需要使用偏移量将视图向下推到导航栏下方,就像您正在做的那样。您还可以通过取消选中将导航栏设置为不允许其下方的项目 under top bars

如果您使用 xibs 而不是故事板,请将其添加到您的视图控制器中。

self.edgesForExtendedLayout = UIEdgeRectNone;

【讨论】:

Apple 有时候真的让我发疯......无论如何,这很完美,非常感谢!!

以上是关于NavigationBar 在运行时隐藏视图,但不在 Interface Builder 中的主要内容,如果未能解决你的问题,请参考以下文章

如何从子视图中隐藏 NavigationBar?

当我使用嵌入在 UINavigationController 中的 SWRevealViewController 时如何隐藏 NavigationBar?

关于使用navigationController,前后2个视图控制器navigationBar隐藏属性不同,导致右滑手势失效问题的解决办法

TabBar 和 NavigationBar 视图部分隐藏

推送其他viewcontroller时隐藏uisearchdisplaycontroller的navigationbar

如何在 SwiftUI 中隐藏额外的 NavigationBar