我有一个显示在顶部状态栏的视图控制器A
。从那个视图控制器,我想呈现另一个隐藏状态栏的视图控制器B
。为了实现这一点,我重写了属性
override var prefersStatusBarHidden: Bool {
return true
}
在B
上。为了在状态栏出现或消失时实现平滑动画,我还覆盖了该属性。
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
return .slide
}
然而,当我从
A
呈现视图控制器 B
时,状态栏会在动画模态转换开始之前突然消失,而此时 A
仍然可见。 我正在寻找一种方法来解决这个“跳跃状态栏”的问题。 理想情况下,我希望有一个清晰的分离: A
:显示状态栏B
:不显示状态栏
B
时,它会被状态栏覆盖。 由于状态栏似乎是一个全局视图,不属于任何特定的视图控制器,因此可能很难实现这种行为。 因此,如果无法复制此精确的动画行为,则在视图控制器过渡期间平稳地滑出状态栏也可以令人满意。 我该如何做到这一点?
viewWillDisappear
以及viewWillAppear
并确保在设置标志之前移动到需要隐藏状态栏的视图控制器。我也会更新我的答案。 - Samantha