隐藏导航栏会导致视图向上移动
Posted
技术标签:
【中文标题】隐藏导航栏会导致视图向上移动【英文标题】:Hiding navigation bar causes the view to shift up 【发布时间】:2016-12-15 03:22:28 【问题描述】:当我隐藏导航栏时,整个视图会向上移动。 我需要隐藏我的导航栏,但我希望我的视图保持其位置。
有没有办法在没有导航栏的情况下保持该间距?
【问题讨论】:
你是如何隐藏你的导航栏的?请显示一些代码 【参考方案1】:您可以像这样将 NavigationBar 的颜色设置为透明
[self.navigationController.navigationBar setBackgroundImage:[UIImage new]
forBarMetrics:UIBarMetricsDefault];
navigationController.navigationBar.shadowImage = [UIImage new];
navigationController.navigationBar.translucent = YES;
为swift
self.navigationController!.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage! = UIImage()
navigationController?.navigationBar.isTranslucent = true
【讨论】:
没有实际隐藏就没有办法做到这一点,在我的情况下,导航栏需要显式隐藏 如果你想要这个,那么你需要在 Storyboard 或 XIB 中不使用 NavigationBar 来设置约束。【参考方案2】:只需将view
约束设置为Top
,而不是Top Layout Guide
。
【讨论】:
【参考方案3】:使用此代码使您的导航栏隐藏:
self.navigationController!.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
self.navigationController!.navigationBar.shadowImage = UIImage()
self.navigationController!.navigationBar.translucent = true
【讨论】:
以上是关于隐藏导航栏会导致视图向上移动的主要内容,如果未能解决你的问题,请参考以下文章