2013-04-29 37 views
0

我有两个由导航控制器推送的视图控制器。当第一个视图控制器处于活动状态时,将使用一个定时器来隐藏状态栏和动画(定时器通过调用[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]来调用内部隐藏状态栏的方法)。 当用户点击视图时,第二个视图控制器被压入堆栈。第二个视图控制器需要状态栏可见才能正确显示导航栏。有时会发生什么情况是,当第二个视图控制器被推动时,状态栏仍然是动画,我最终得到了一个在屏幕之外的导航栏(基本上,第二个视图控制器的视图不显示导航酒吧)。我想知道在推送之前是否有办法停止状态栏动画,或者是否有解决此问题的标准方法。将新视图控制器压入堆栈时的状态栏动画

+0

你应该张贴你的代码使用动画状态栏。 – rdelmar 2013-04-29 03:44:45

回答

0

你可以保持对它的引用您的计时器:当你想在状态栏动画

myTimer *timer = [NSTimer scheduledTimer...]; 

然后验证这一点:

[myTimer invalidate]; 
myTimer = nil; 
+0

谢谢,我不认为这是计时器的问题。事实上,我已经在第一个视图控制器的viewWillDisappear中完成了你的建议。问题是隐藏我正在使用的状态栏 - “(void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation',如果动画在第二个视图控制器位于我看到我描述的问题。 – Glauco 2013-04-29 02:10:11

相关问题