0

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

4

1 回答 1

0

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

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

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

[myTimer invalidate];
myTimer = nil;
于 2013-04-29T01:55:27.120 回答