在 iOS swift 4.2 中更改根视图控制器时状态栏突然隐藏

Status Bar getting hidden suddenly when changing the root view controller in iOS swift 4.2

当我将一个登录 viewController 设置为 AppDelegate class 的初始屏幕时,它会加载与状态栏相同的内容。但是当我从内部屏幕显示相同内容时(当用户选择注销选项时),问题就来了。我已将 View controller-based status bar appearance 的值设置为 NO

提前致谢。

伙计们,我自己找到了答案。

这是我一直在使用的库发生的情况,即。 SlideMenuControllerSwift。我一直在使用这个库在我的应用程序中显示侧边菜单。当用户在侧边菜单中选择一个选项(“注销”)时会出现此问题。选择此选项后,从下一个屏幕开始,状态栏将被隐藏。

实际场景是,当用户从主屏幕选择菜单按钮时,状态栏将隐藏,侧边菜单将显示。

在后台,一旦选择了 注销 选项以外的任何选项,子视图控制器将使用 segues 显示。当用户选择 注销 选项时,用户将导航到登录屏幕。这里我一直在更改 window 的 rootViewController。

诀窍是 SlideMenuOptions.hideStatusBar 属性 SlideMenuControllerSwift 库。当用户选择将显示侧边菜单的 Menu 选项时,我们可以使用此 属性 到 show/hide 状态栏。 默认情况下,这被设置为 true 并且当我直接更改根视图控制器时,状态栏 属性 尚未重置。

我在 application: application didFinishLaunchingWithOptions: 中将此 属性 更改为 false,作为我的客户想要显示带有状态栏的侧边菜单。反过来,这解决了我的状态栏问题!