Swift 使用未解析标识符';kCAFillModeForwards';

Swift 使用未解析标识符';kCAFillModeForwards';,swift,xcode,animation,cabasicanimation,caanimation,Swift,Xcode,Animation,Cabasicanimation,Caanimation,当我试图设置animation.fillMode=kCAFillModeForwardsXcode无法编译并显示错误。“使用未解析标识符'kCAFillModeForwards'” 我已经在以前的项目中使用过,没有任何问题,有人遇到过这种行为吗 func animateGradient() { currentGradient += 1 let animation = CABasicAnimation(keyPath: Animation.keyPath)

当我试图设置
animation.fillMode=kCAFillModeForwards
Xcode无法编译并显示错误。“使用未解析标识符'kCAFillModeForwards'”

我已经在以前的项目中使用过,没有任何问题,有人遇到过这种行为吗

func animateGradient() {
        currentGradient += 1
        let animation = CABasicAnimation(keyPath: Animation.keyPath)
        animation.duration = animationDuration
        animation.toValue = currentGradientSet()
        animation.fillMode = kCAFillModeForwards
        animation.isRemovedOnCompletion = false
        animation.delegate = self
        gradient.add(animation, forKey: Animation.key)
}

该常量已被删除,以支持
CamediaImingFillMode
类型上的属性。自Swift 4.2起,相同内容如下:

animation.fillMode = .forwards


也就是说,前向填充模式和完成时不删除动画的组合经常被错误地用于尝试使动画“保持”/“保持”。除非你正在制作移除层的动画,否则一个更干净的解决方案是将层更新为新值,并添加一个动画,该动画在从上一个值过渡到之前的值时被移除。

你使用的是什么版本的Xcode?我使用的是Xcode版本10.0 beta 2,Swift 4.2,我为iOS 12构建它,非常感谢!你的答案正是我想要的!我正在搜索.forwards到Swift 4和is->kCAFillModeForwards的转换