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