微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift3 – 带#keyPath的CATransform3D密钥路径

是否可以使用增强的密钥路径(如 here所述)为Swift 3中的CATransform3D属性添加新的#keyPath关键字?

换句话说就是替换

let scaleAnimation = CABasicAnimation(keyPath: "transform.scale")

喜欢的东西

let scaleAnimation = CABasicAnimation(keyPath:  #keyPath(CALayer.transform.???))

解决方法

应该使用CAValueFunction.

let scaleAnimation = CABasicAnimation(keyPath: "transform.scale")

– >

let scaleAnimation = CABasicAnimation(keyPath: #keyPath(CALayer.transform))
scaleAnimation.valueFunction = CAValueFunction(name: kCAValueFunctionScale)

let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation")

– >

let rotationAnimation = CABasicAnimation(keyPath: #keyPath(CALayer.transform))
rotationAnimation.valueFunction = CAValueFunction(name: kCAValueFunctionRotateZ)

等等

> rotation.x – > kCAValueFunctionRotateX> rotation.y – > kCAValueFunctionRotateY> rotation.z – > kCAValueFunctionRotateZ>旋转 – > kCAValueFunctionRotateZ> scale.x – > kCAValueFunctionScaleX> scale.y – > kCAValueFunctionScaleY> scale.z – > kCAValueFunctionScaleZ>规模 – > kCAValueFunctionScale> translation.x – > kCAValueFunctionTranslateX> translation.y – > kCAValueFunctionTranslateY> translation.z – > kCAValueFunctionTranslateZ>翻译 – > kCAValueFunctionTranslate

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐