【发布时间】:2017-11-14 04:32:11
【问题描述】:
我有一个视图控制器A,它在顶部显示状态栏。从那个视图控制器中,我想展示另一个隐藏状态栏的视图控制器B。为了实现这一点,我重写了该属性
override var prefersStatusBarHidden: Bool {
return true
}
在B。为了在状态栏(dis)出现时强制执行流畅的动画,我还覆盖了该属性
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
return .slide
}
但是,当我现在从A 呈现视图控制器B 时,状态栏突然消失了,而A 仍然可见,就在动画模态转换开始之前。
我正在寻找一种方法来修复这种“跳跃状态栏”行为。理想情况下,我希望有一个干净的分离:
-
A:显示状态栏 -
B:不显示状态栏
这样,当我呈现B 时,状态栏就会被它覆盖。
由于状态栏似乎是一个不属于任何特定视图控制器的全局视图,因此可能很难实现这种行为。因此,如果无法复制这种确切的动画行为,我也会很高兴状态栏在视图控制器转换期间顺利滑出。我怎样才能做到这一点?
【问题讨论】:
标签: ios uiviewcontroller show-hide statusbar