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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |