使用未解析的标识符 'kCAFillModeForwards'
Use of unresolved identifier 'kCAFillModeForwards'
当我尝试设置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)
}
该常量已被删除,取而代之的是 CAMediaTimingFillMode
类型上的 forwards
属性。从 Swift 4.2 开始,同样的事情写成:
animation.fillMode = .forwards
就是说,前向填充模式与动画完成时不移除动画的组合经常被误用于制作动画 "stick"/"remain"。除非您正在为图层的移除设置动画,否则更简洁的解决方案是将图层更新为新值并添加一个动画(完成后将被移除)以从先前的值过渡。
当我尝试设置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)
}
该常量已被删除,取而代之的是 CAMediaTimingFillMode
类型上的 forwards
属性。从 Swift 4.2 开始,同样的事情写成:
animation.fillMode = .forwards
就是说,前向填充模式与动画完成时不移除动画的组合经常被误用于制作动画 "stick"/"remain"。除非您正在为图层的移除设置动画,否则更简洁的解决方案是将图层更新为新值并添加一个动画(完成后将被移除)以从先前的值过渡。