如何在一定时间内开始播放动画?

时间:2016-11-07 23:14:19

标签: ios swift animation core-animation cabasicanimation

我有一个CABasicAnimation涉及多个形状,显示两个不同导航之间的过渡。它本质上是一个x持续时间的变形。 但是,有一些我不知道如何处理的要求(而且我的googlefu没有帮助)

  • 我需要能够显示动画的任意一点。例如,如果我在两个视图之间滑动,我需要能够以50%显示动画。

  • 我需要能够在任意点开始动画。在前一种情况下,如果我在中间滑动并释放视图,我需要能够完成50%到100%的动画。 我用timeSincePause(代码)给了它一个镜头,但我无法通过动画获得任何地方。

作为一种帮助,我有这两种方法,

如果恢复的方法是一种隐含的方式,可以从某个点继续保持相同的效果,并且该时间与 X 的时间是连续的暂停方法,如果尚未确定 ,则如何才能将其定义为暂停方法

@IBAction func tapPause() {
    let pausetime = shape.convertTime(CACurrentMediaTime(), from: nil)
    shape.speed = 0.0
    shape.timeOffset = pausetime
 }

@IBAction func tapResume() {
   let pausedTime = shape.timeOffset
   shape.speed = 1.0
   shape.timeOffset = 0.0
   shape.beginTime = 0.0

   let timeSincePause = shape.convertTime(CACurrentMediaTime(), from: nil) - pausetime
   shape.beginTime = timeSincePause
 }

我应该研究哪些方法来完成这项工作?

0 个答案:

没有答案