【问题标题】:UINavigationBar moves under status bar when using swipe back gesture from status bar hidden viewControllerUINavigationBar 在状态栏隐藏视图控制器使用向后滑动手势时在状态栏下移动
【发布时间】:2025-12-03 09:05:02
【问题描述】:

问题很简单,Profile viewController 在状态栏的正下方有一个 NavigationBar。我将另一个视图控制器推到当前视图控制器之上。这个新的 viewController 隐藏了状态栏。

当我使用 SWIPE BACK GESTURE 返回到 Profile viewController 时,navigationBar 已向上移动了状态栏高度的大小。

相关问题是UINavigationBar moving under status bar when another viewController hides status bar

有什么想法吗?

【问题讨论】:

  • 这个答案应该适用于两者!您是手动实现滑动手势识别器还是说默认滑动返回?

标签: ios iphone uiviewcontroller uinavigationbar uistatusbar


【解决方案1】:

其实

在这种情况下,也可以使用以下方法。

[[UIApplication sharedApplication] setStatusBarHidden:NO];

在第二个视图控制器的 viewWillDisappear 中调用它可以解决问题。 主视图控制器包含一个主视图,我在视图中添加了一个 tableView(屏幕截图上的蓝色是 tableview 的标题)。

不知何故,这个构图的布局不太好……我不知道为什么。 有人写道,为了避免这种布局问题,使用 scrollView 作为容器可以解决问题,但我无法将 tableViews 添加到 scrollView...

如果有人解释为什么会出现这个布局问题,我会很高兴的。

【讨论】: