向animateKeyframes添加缓动

时间:2016-10-13 12:00:22

标签: ios swift swift3

我使用以下代码在Swift 3中使用animateKeyframes为按钮缩放设置动画:

UIView.animateKeyframes(withDuration: 4, delay: 1, options: [.repeat, .allowUserInteraction, .calculationModeCubic], animations: {
            UIView.addKeyframe(withRelativeStartTime: 0, relativeDuration: 0.1, animations: {
                self.myButton.transform = CGAffineTransform(scaleX: 1,y: 1)
            })
            UIView.addKeyframe(withRelativeStartTime: 0.1, relativeDuration: 0.1, animations: {
                self.myButton.transform = CGAffineTransform(scaleX: 0.9,y: 0.9)
            })
            }, completion: nil)       

我需要做的是为每个关键帧添加缓动。我查找了一些使用以下代码的内容,然后可以将其传递给animateKeyframes

let animationOptions: UIViewAnimationOptions = .curveEaseIn
let keyframeAnimationOptions: UIViewKeyframeAnimationOptions = UIViewKeyframeAnimationOptions(rawValue: animationOptions.rawValue)

但是,它并没有确切地说明如何传递keyframeAnimationOptions变量,我似乎无法自己解决这个问题!有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码调用keyframeAnimationOptions变量。

let keyframeAnimationOption=UIViewKeyframeAnimationOptions.CalculationModeCubic

UIView.animateKeyframesWithDuration(duration, delay: delay, options: keyframeAnimationOption, animations:
    {
                    /////Your code //////

    }, completion: nil)