【发布时间】:2014-07-07 15:26:08
【问题描述】:
我在 ViewController A 中实现了该方法
- (BOOL)prefersStatusBarHidden {
return NO;
}
我在 ViewController B 中实现了该方法
- (BOOL)prefersStatusBarHidden {
return YES;
}
- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation {
return UIStatusBarAnimationSlide; // when doing hiding animation i want it to slide up
}
我实现了一个符合 viewController 转换的类 T,比如 AtoBTransition,我使用这个 ViewControllerTransition 从 vc(viewcontroller) A 转换到 vc B。when transitioning to vc B i want the status bar to slide up (hide with sliding animation) 但在这种情况下,它似乎没有t 做那个滑动动画。
问题:假设我没有在 T 类中执行 UIStatusBar 相关代码,并且没有在 info plist 中添加值 View controller-based status bar appearance。过渡T 可以根据需要完美运行。
我确定代码通过断点或记录读取
-preferredStatusBarUpdateAnimation,但为什么它没有通过滑动隐藏状态栏动画?当我在模拟器中切换到慢动作时。它似乎不做动画。我的理论是它与过渡动画上下文冲突,所以是否可以在
T的实现中做隐藏 UIStatusBar 的动画作为其过渡方案的一部分?是否可以将 UIStatusBar 动画与 ViewControllerAnimationTransition 一起制作?
随意清除一些东西。提前谢谢.. :)
【问题讨论】:
-
您的自定义视图控制器转换(从 A 到 B)是否正常工作?
-
是的,先生。它工作正常
-
你能完全隐藏状态栏吗?我认为这就是您在第 1 个问题中所说的,但我不能 100% 确定。
-
你在视图控制器B中调用
[self setNeedsStatusBarAppearanceUpdate];吗? -
是的,先生。但这没有帮助。仍然没有发生状态栏动画
标签: ios objective-c animation uistatusbar