【问题标题】:Hiding navigation bar causes the view to shift up隐藏导航栏会导致视图向上移动
【发布时间】:2016-12-15 03:22:28
【问题描述】:

当我隐藏导航栏时,整个视图会向上移动。 我需要隐藏我的导航栏,但我希望我的视图保持其位置。

有没有办法在没有导航栏的情况下保持该间距?

【问题讨论】:

  • 你是如何隐藏你的导航栏的?请显示一些代码

标签: ios swift uinavigationbar


【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多