将新视图控制器压入堆栈时,状态栏将动画化

时间:2013-04-29 01:51:57

标签: ios

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

1 个答案:

答案 0 :(得分:0)

您可以保留对计时器的引用:

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

然后在您希望状态栏动画发生时使其无效:

[myTimer invalidate];
myTimer = nil;