【发布时间】:2021-11-22 11:35:17
【问题描述】:
我有一个控制两个视图控制器的侧边菜单控制器。其中一个视图控制器隐藏了导航栏,以便它可以使用全屏。我添加了一个点击手势,以便能够切换到其他 VC。 safeAreaInsets 如预期的那样,除非我在应用程序后台运行。如果我在显示带有可见导航栏的 VC 时将应用程序置于后台,则一切正常,当我切换到另一个时,该栏被隐藏并且我看到全屏。但是,如果我在全屏 VC 显示时将应用程序置于后台,当我再次将应用程序置于前台并切换到另一个 VC 时,取消隐藏导航栏,safeAreaInsets 是错误的。这可以通过将应用程序置于后台并再次将其置于前台来“纠正”,因为 safeAreaInsets 再次正确。
有什么方法可以强制更新 safeAreaInsets 吗?
如果我
override func viewSafeAreaInsetsDidChange()
此方法在我后台应用时调用,而不是在导航栏隐藏或取消隐藏时调用。
【问题讨论】:
标签: swift uiviewcontroller background foreground