【问题标题】:how to continue animation and uitimer in background如何在后台继续动画和计时器
【发布时间】:2017-04-28 00:31:05
【问题描述】:

我有一个类似秒表的应用程序。当我点击开始按钮时,计时器()被触发开始每秒计数,我有一个通过 uiview.animation 旋转 360 度的 uiView 并继续旋转,直到我点击停止按钮。

但是,当我最小化我的应用程序时,我的 uiview 动画会停止。 timer() 在后台停止计数,但在应用程序恢复后继续计数。但是 uiview 甚至没有继续旋转,它实际上完全停止了。

无论如何,即使它在后台,我也需要一切顺利运行。哎呀,即使屏幕关闭/锁定。它是秒表,所以你可以假设原因。

请帮忙!!谢谢!

仅限斯威夫特

【问题讨论】:

    标签: swift animation uiview timer background


    【解决方案1】:

    通过将开始时间和持续时间写入 UserDefaults 或其他一些持久存储(不要忘记在计时器完成时将其删除)来捕获并保存开始时间和持续时间。

    注册通知 NSNotification.Name.UIApplicationWillEnterForeground 。当您收到此通知时,将当前时间与开始时间 + 持续时间进行比较。如果它超过了 endTime 会显示一些关于该效果的消息。否则,根据剩余时间重新创建计时器并重新启动微调器动画。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-25
      • 1970-01-01
      • 2020-07-17
      • 1970-01-01
      • 2016-03-09
      • 2012-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多