使用未解析的标识符“kCAFillModeForwards”
Posted
技术标签:
【中文标题】使用未解析的标识符“kCAFillModeForwards”【英文标题】:Use of unresolved identifier 'kCAFillModeForwards' 【发布时间】:2018-07-05 12:52:17 【问题描述】:当我尝试设置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)
【问题讨论】:
你使用的是什么版本的 Xcode?span> 我使用的是 Xcode 版本 10.0 beta 2,Swift 4.2,我为 ios 12 构建了它 【参考方案1】:该常量已被删除,取而代之的是 CAMediaTimingFillMode
类型上的 forwards
属性。从 Swift 4.2 开始,同样的事情写成:
animation.fillMode = .forwards
也就是说,前向填充模式与动画完成时不移除动画的组合经常被滥用,以试图使动画“粘住”/“保持”。除非您为层的移除设置动画,否则更简洁的解决方案是将层更新为新值并添加动画(在完成时移除)以从先前的值过渡。
【讨论】:
非常感谢!你的答案正是我想要的! 我正在搜索 .forwards 到 Swift 4 的转换并且是 -> kCAFillModeForwards以上是关于使用未解析的标识符“kCAFillModeForwards”的主要内容,如果未能解决你的问题,请参考以下文章
使用未解析的标识符 'json' (Swift 3) (Alamofire)
使用未声明的类型“DKAsset”,使用未解析的标识符“DKImagePickerController”?
出现错误:使用未解析的标识符“LinkingObjects”