在AnimateKeyFrames块中,始终首先执行错误的关键帧

时间:2018-01-07 21:02:31

标签: ios swift uiview uiviewanimation

我一直在研究Swift中这个简单的硬币投放iOS应用程序。我有一个animateKeyFrames块来动画硬币的运动。

第一个关键帧使硬币上升,第二个关键帧根据随机计算的结果分配硬币图像,第三个关键帧使硬币下降。

但是,出于某种原因,硬币的图像在上升之前总是先变化。这就像第一个执行第二个关键帧,我尝试了所有的排列无济于事。我相信我甚至已经正确输入了withRelativeStartTime参数。

这里可能会发生什么?

 let animationDuration = 1.5

    UIView.animateKeyframes(withDuration: animationDuration, delay: 0.0, options: [.calculationModeLinear], animations: {

        UIView.addKeyframe(withRelativeStartTime: 0, relativeDuration: 0.45, animations: {
            self.imageView.center.y = self.imageView.center.y - 200
            self.imageView.alpha = 0.0
        })

        UIView.addKeyframe(withRelativeStartTime: 3/7, relativeDuration: 0.1, animations: {
            self.imageView.image = UIImage(named: tossRes)
        })

        UIView.addKeyframe(withRelativeStartTime: 4/7, relativeDuration: 0.45, animations: {
            self.imageView.center.y = self.imageView.center.y + 200
            self.imageView.alpha = 1.0
        })
    })

0 个答案:

没有答案