1

我的项目中有一个问题,即 UIView 动画不会从按下主页按钮的位置恢复。

这些是步骤(讨论的简化示例):

1) 我有一个简单的项目,其中包含应用程序委托 h&m 文件和单个视图控制器

2) 在 xib 中,我有一个设置为 alpha=0 的 UIView

3)在视图控制器的viewdidload中,我正在做一个动画如下:

   [UIView animateWithDuration:20.0 animations:^{_testView.alpha = 1.0;}]; 

4)这很好 - 在 20 秒内,视图逐渐变得完全可见(如预期的那样)

问题是当我在两者之间按下主页底部时 - 例如从动画开始 5 秒 - 如果我在按下主页键后立即返回应用程序,则动画不会从按下主屏幕的位置开始 - 而是它加载一个完全可见的视图。

这就是我为解决这个问题所做的:

1) 从应用委托创建本地通知。- 在 applicationDidEnterBackground 中:用于暂停和在 applicationDidBecomeActive 中:用于恢复动画

2)在视图控制器中,我正在检查本地通知并基于该通知执行恢复层和暂停层(根据苹果推荐的带有 CALayer 对象的 pauselayer 和 resumelayer 方法)

3) 在调试模式下检查断点 - 控件按预期进入暂停和恢复方法

4) 但是,最终结果并不像预期的那样 - 总是在完全提交动画的情况下加载视图

我怀疑无论我做什么,视图都会加载 alpha=1.0 的承诺动画;

有人可以指点我解决这个问题吗?检查了其他 SO 帖子的暂停/恢复动画 - 没有任何帮助。

基本上我想从按下主页按钮的那一刻重新开始动画

谢谢

4

0 回答 0