我知道有很多关于在后台运行计时器的问题,例如这一个:how to keep running NSTimer when app goes in background,如果我什么都没有,我肯定会使用它的答案,但我的问题不是真正的应用程序去了在背景中(也就是说,如果我正确理解了这意味着什么)。
所以在这里,我有一个带有计时器的视图控制器,我用它作为倒计时,从这个视图控制器可以看到视频。我使用AVPlayerViewController
作为该部分。 :
AVPlayer *player = [AVPlayer playerWithURL:videoURL];
AVPlayerViewController *playerViewController = [AVPlayerViewController new];
playerViewController.player = player;
[self presentViewController:playerViewController animated:YES completion:nil];
因此我拥有一个AVPlayerViewController
高于拥有计时器的人,计时器停止计数直到我离开AVPlayerViewController
。我想继续计算,有没有办法在不将当前时间写入文件等的情况下这样做?
感谢您的帮助
答案 0 :(得分:2)
这种行为可能有几个原因,但我注意到的常见事情(在我的职业生涯中多次看到)会使viewWillDisappear
或viewDidDisappear
方法中的计时器失效,在viewWillAppear
和viewDidAppear
方法上启动它。如果要在视图控制器被关闭之前运行计时器,那么您应该在viewDidLoad
方法中启动计时器并在解除视图控制器之前使其无效(或者当您获得所需的结果时,{{3 }})