我可以使用以下代码暂停和恢复 UIViewAnimations
暂停:
CFTimeInterval paused_time = [layer convertTime:CACurrentMediaTime() fromLayer:nil];
layer.speed = 0.0;
layer.timeOffset = paused_time;
恢复:
CFTimeInterval paused_time = [layer timeOffset];
layer.speed = 1.0f;
layer.timeOffset = 0.0f;
layer.beginTime = 0.0f;
CFTimeInterval time_since_pause = [layer convertTime:CACurrentMediaTime() fromLayer:nil] - paused_time;
layer.beginTime = time_since_pause;
但是当应用程序进入后台时暂停动画后,再次进入前台,这些动画不会显示在视图中。我正在为 UIViewAnimations 使用 UIImageView。